[wix-devs] WIP 5386- Support MSI transactions

Rob Mensching 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/


-----Original Message-----
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
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?


Thanks

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