Upgrade a WiX installation from per-user to per-machine
Out of the box, MSI will not upgrade a per-user product to per-machine. This is a well known problem. This example leverages burn to work around this limitation.
Projects:
- UpgradeTestApplication: A dummy application to install
- PerUserSetup: WiX MSI with
perUser
scope - PerMachineSetup: WiX MSI with
perMachine
scope - UninstallRelatedProducts: Command-line application which uninstalls products with a given upgrade code
- PerMachineBootstrapper: WiX bootstrapper which combines
UninstallRelatedProducts
andPerMachineSetup
To reproduce the upgrade problem, install PerUserSetup
then PerMachineSetup
.
There will be two ARP entries since MSI did not perform an upgrade.
If you install PerUserSetup
then PerMachineBootstrapper
, the per-user installation will be properly removed.
There will only be one ARP entry for PerMachineBootstrapper
.
See LICENSE (MIT).