发明名称 Transactional multi-package installation
摘要 Described is installing multiple software packages to a computing device in a single transaction, whereby the multiple package installation commits if successful, or the device is rolled back to a determined state if unsuccessful. A client process provides a system service (installer) with a package, and the service partitions package installation actions into execution, commit and rollback phases, with the execution phase run for each package. If successful, the transaction is committed by performing the multiple commit phases. If unsuccessful, the installation is rolled back via the rollback phases. The phases may be interleaved, with execution and commit phases performed in FIFO order, and rollback phases performed in LIFO order. A client process may dynamically determine which packages to install, a client process may be embedded in a package and join the transaction, and/or one client process may delegate control to another client to add package actions to the transaction.
申请公布号 US8978028(B2) 申请公布日期 2015.03.10
申请号 US200711973741 申请日期 2007.10.10
申请人 Microsoft Technology Licensing, LLC 发明人 Flaming Robert Charles;Sannidhanam Hemchander V.;Annamraju Venkata Kiran Kumar;Cheng William L.;Wong Kin Yip Kenneth;Napier Carolyn L.
分类号 G06F9/45;G06F9/445;G06F9/44 主分类号 G06F9/45
代理机构 代理人 Drakos Kate;Minhas Micky
主权项 1. A tangible computer-readable storage memory storing computer-executable instructions, which in response to execution by a computer, cause the computer to perform steps comprising: preparing for an installation of a plurality of software packages in a single multi-package transaction, including partitioning installation actions for each software package in the plurality of software packages into an execution phase, a commit phase, and a rollback phase; controlling the installation of the plurality of software packages via a first process, the controlling including delegating control to a second process for adding one or more installation-related actions of at least one package to the single multi-package transaction for installation, and operating to have the execution phase performed for the each software package in the plurality of software packages, wherein delegating control to the second process comprises associating an identifier of the transaction with the second process; and a) if the execution phase for the each software package in the plurality of software packages is successful, committing the single multi-package transaction by operating to have the commit phase performed for the each software package in the plurality of software packages, or b) if the installation for any software package in the plurality of software packages is unsuccessful, rolling back the installation by operating to have the rollback phase performed for the each software package in the plurality of software packages for which the execution phase was performed in the single multi-package transaction.
地址 Redmond WA US