Our installation used to be of per-user install type, but we are required to move to per-machine install type for deployment purposes since we cannot target a specific user on the machine during deployment.
The problem is that we have existing customers that have rolled out the per-user installations and after releasing our new version they will need to be able to upgrade. We are happy that these upgrades maintain the per-user install type but new installations target per-machine.
I have attempted to do this by using the predefined "Preserve Install Type of the old version" custom action in an example project that simulates our product installation, but it does not seem to be working, both versions seem to be merged in the installation location and both are visible under Add & Remove programs.
I see the following in the installation log:
Attached please find example project files and installation log.MSI (c) (F4:EC) [09:36:39:912]: Doing action: PreserveInstallType
Action 09:36:39: PreserveInstallType.
Action start 09:36:39: PreserveInstallType.
MSI (c) (F4:DC) [09:36:39:918]: Invoking remote custom action. DLL: C:\Users\CliveB\AppData\Local\Temp\MSI60D1.tmp, Entrypoint: PreserveInstallType
MSI (c) (F4!40) [09:36:39:924]: PROPERTY CHANGE: Deleting ALLUSERS property. Its current value is '1'.
Action ended 09:36:39: PreserveInstallType. Return value 1.
Your help is much appreciated.
Thank you