Windows Installer Multi Package Transaction MultiPackage Transaction Chainer

  • Slides: 5
Download presentation
Windows Installer Multi Package Transaction

Windows Installer Multi Package Transaction

Multi-Package Transaction Chainer Transaction Install Foo. msi Bar. msi Uninstall Rollback 9/17/2020 Install Failure

Multi-Package Transaction Chainer Transaction Install Foo. msi Bar. msi Uninstall Rollback 9/17/2020 Install Failure Foo. msi Bar. msi Failure Rollback Microsoft Confidential 2

Windows Installer Transaction Terminology Commit: Finalize Execution: Run the Acquisition: Determine theinstall transaction. There

Windows Installer Transaction Terminology Commit: Finalize Execution: Run the Acquisition: Determine theinstall transaction. There is no way script created to update theto state of the system and create undo aofcommit. state the system. While an install script to run at a later time. updating the system, create a Ex: Commit assemblies towhen GAC. rollback script for usage needed. Ex: What version of foo. dll is installed? Ex: Copy foo. dll to the disk. Foo. msi Commit Phase Disk 9/17/2020 I n s t a l l R Acquisition o Phase l l b a Execution c Phase k Microsoft Confidential 3

Vista MSI Transaction: Under the hoods Install Script C o As ct qi n

Vista MSI Transaction: Under the hoods Install Script C o As ct qi n u gi s i t i o n C o n t d Foo. msi Rollback Script Start. Service(…). . . Schedule. CA(Rollback. Se Read from the tup. IIS…) install script … File. Copy(…) Triggers install script creation … Store the undo operations into a rollback script Windows Installer Executor Triggers script execution Stop. Service(…) … Schedule. CA(Setup. IIS…) … File. Copy(…) Apply. Patch(…) … Install/Update disk based on the contents of the install script Disk

Windows Installer Multi Package Transaction Semantics Acquisition Early Execution Late Commit Install Foo. msi

Windows Installer Multi Package Transaction Semantics Acquisition Early Execution Late Commit Install Foo. msi Fool. msi Failure Rollback Update thesystem. state ofthe machine using the install script created in Acquire Update Acquire the state of ofmachine. the machine. acquisition phase. 1. Backup Ex: rollback Check the old the version ofof Fool. Foo. exe andindecide if youtowant to copy Foo. exe. Run the scripts for Fool and Foo LIFO order rollback the Sample operations: 2. Note down an undo op-code in rollback script. transaction Backup Foo. exe if one exists. 3. 1. Copy Fool. exe. 2. Create an undo op-code for this operation. 3. Copy Foo. exe. 9/17/2020 Microsoft Confidential 5