I have a bootstrapper application with several msi packages in the chain. For convenience, the msi packages always perform a major upgrade that completely removes a product before the new version is installed.
When a rollback is necessary during an upgrade operation in the middle of the bundle's chain, the previously performed major upgrades are reverted resulting in the affected products not being installed any more.
This seems reasonable but is probably not what the end user expects. Instead of some products being left uninstalled, those products should be ideally reverted to their previously installed versions.
I wonder if their is a way to solve this requirement without giving up the major upgrade strategy. Can a WiX bootstrapper rollback major upgrades in a way the end user expects?