1. A method for updating at least one software product installed on a virtual machine, the method performed by one or more processors and comprising: providing a software image of at least one new virtual disk storing a new level of the software product together with new metadata comprising an indication of at least one new activation procedure of the new level of the software product; and replacing a current level of the software product with the new level of the software product, the current level of the software product being stored in at least one current virtual disk of the virtual machine together with current metadata comprising current activation information of the current level of the software product, wherein the replacing comprises: determining at least one delta constraint according to a comparison between at least one new constraint of the new level of the software product indicated in the new metadata and at least one current constraint of the current level of the software product indicated in the current metadata, requesting a confirmation of a compliance with the at least one delta constraint, the replacing of the current level of the software product with the new level of the software product being conditioned on an approval of the at least one delta constraint, removing the at least one current virtual disk from the virtual machine, adding the at least one new virtual disk to the virtual machine, and running the at least one new activation procedure according to the current activation information.