[wix-devs] WIP 5386- Support MSI transactions
rob at firegiant.com
Thu Sep 22 17:08:28 PDT 2016
Using an attribute to enable this seems like a great way to bring it in. I'm not thrilled with the name "Transaction" for the attribute but we can tweak that as better name comes up.
Sean, given you've been deeper in Burn than anyone else in v4. What do you think?
FireGiant | Dedicated support for the WiX toolset | http://www.firegiant.com/
From: wix-devs [mailto:wix-devs-bounces at lists.wixtoolset.org] On Behalf Of Nir Bar
Sent: Monday, August 29, 2016 10:57 PM
To: wix-devs at lists.wixtoolset.org
Subject: [wix-devs] WIP 5386- Support MSI transactions
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
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?
Panel::Software Architecture and Development
Mail: nir.bar at panel-sw.com
- C++ On Windows, Linux and Embedded Platforms
- WiX & InstallShield
- Build & Continuous Integration
More information about the wix-devs