[wix-devs] WIP 5386- Support MSI transactions

Nir Bar nir.bar at panel-sw.com
Mon Aug 29 22:56:52 PDT 2016

I created WIP#5386 to fix this scenario:Bundle has multiple MSI packages
During an upgrade:
Package#1 applies a major upgrade successfully
Package#2 starts an upgrade and fails
Package#2 rolls back successfully
Package#1 removed
The final result was that the target machine was left with the initial bundle except package#1- which was definitely a bad rollback

The proposed WIP is to support MSI transactions by adding a 'Transaction' attribute to RollbackBoundary elements.
If set to 'yes' (default is 'no'), the rollback boundary will start with MsiBeginTransaction and terminate with MsiEndTransaction to either roll back multiple packages or commit them.

Bob and and Rob have pointed out that MSI transactions are known not to support a mixture of x86 and x64 packages and a general impression that MSI transactions were buggy.

As we currently don't have a better way to fix that scenario, I would like to give it a try and see if the alleged bugs in MSI transactions are something that we can handle or at least document properly and let packagers opt in to use in supported cases.

Comments are welcome
Does anybody know of other bugs in MSI transactions?


Nir Bar
Panel::Software Architecture and Development

Mobile: +972-54-2490321
Mail: nir.bar at panel-sw.com
Web: www.panel-sw.com
   - C++ On Windows, Linux and Embedded Platforms

   - WiX & InstallShield
   - Build & Continuous Integration

More information about the wix-devs mailing list