A computer-implemented method for updating a software product from a first version to a second version, at least a portion of the method being performed by a computing system comprising at least one processor, the method comprising: - receiving a request to install, on the computing system, a second version of the software product over a first version of the software product that is installed on the computing system; - identifying a set of differences between the first version of the software product and the second version of the software product, wherein the set of differences identifies: * one or more actions that will not affect execution of the first version of the software product and that may be performed while the first version of the software product is running, and * one or more actions that need to be performed later at the point in time of swapping the first and second versions of the software product; - installing the second version of the software product in a dormant state while the first version of the software product is running by, using the set of differences, only installing one or more components of the second version of the software product, the installation of which does not affect execution of the first version of the software product, and - swapping the first and second versions of the software product by: * using the set of differences, updating at least one component of the first version of the software product for use with the second version of the software product; * activating the second version of the software product and deactivating the first version of the software product. - receiving a request to install, on the computing system, a second version of the software product over a first version of the software product that is installed on the computing system; - identifying a set of differences between the first version of the software product and the second version of the software product, wherein the set of differences identifies: * one or more actions that will not affect execution of the first version of the software product and that may be performed while the first version of the software product is running, and * one or more actions that need to be performed later at the point in time of swapping the first and second versions of the software product; * one or more actions that will not affect execution of the first version of the software product and that may be performed while the first version of the software product is running, and * one or more actions that need to be performed later at the point in time of swapping the first and second versions of the software product; - installing the second version of the software product in a dormant state while the first version of the software product is running by, using the set of differences, only installing one or more components of the second version of the software product, the installation of which does not affect execution of the first version of the software product, and - swapping the first and second versions of the software product by: * using the set of differences, updating at least one component of the first version of the software product for use with the second version of the software product; * activating the second version of the software product and deactivating the first version of the software product. * using the set of differences, updating at least one component of the first version of the software product for use with the second version of the software product; * activating the second version of the software product and deactivating the first version of the software product.