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
perUserscope - PerMachineSetup: WiX MSI with
perMachinescope - UninstallRelatedProducts: Command-line application which uninstalls products with a given upgrade code
- PerMachineBootstrapper: WiX bootstrapper which combines
UninstallRelatedProductsandPerMachineSetup
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).