[wix-users] Related Bundles - Order of Execution
todor at scientia.dk
Wed Feb 28 10:46:07 PST 2018
I will try to keep the question as short as possible.
We have a bundle that contains two MSI packages, MSI_A and MSI_B. MSI_A executes some custom actions to modify the target system and has a reverse action to undo the changes upon uninstall.
This split of the MSI packages gave us some headaches, so I merged everything from MSI_A into MSI_B and dropped MSI_A from the bundle. In other words, MSI_A is gone and only MSI_B should be installed by the installer. I did not change any product id or upgrade id.
This mostly works, except when an older version is updated by the bundle. Some debugging shows that the bundle schedules the new MSI_B for install and then it schedules an uninstall of the old version of the bundle (with MSI_A and MSI_B) as *related bundle - uninstall*.
This is all good, except that MSI_B is installed first, which now runs the above mentioned custom actions. Moments later, the *related bundle - uninstall* runs, which uninstalls MSI_A (which is no longer needed, because its contents were merged into MSI_B) thus running the custom actions for cleanup and de-facto undoing the work that MSI_B just did.
Is it possible to force the *related bundle - uninstall* to happen *before* the new MSI packages are installed? We do have a custom BA and can control many aspects of the bundle process. Alternatively, are there any other ways to fix this issue? One thing I cannot do is modify the currently installed old version containing MSI_A and MSI_B.
More information about the wix-users