cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
omidkrad
Level 4

Major upgrade and forcing ALLUSERS

Hello,

We have an upgrade scenario where the previous version is installed per-machine and we want the new version (with a new Product Code) to do a major upgrade and install per-user instead. We had a Major Upgrade item in place that caused the previous version to be uninstalled completely as expected but because of the ISSetAllUsers custom action the new product was installed per-machine. I thought by simply removig ISSetAllUsers from Custom Actions and Sequences this would be fixed but now I see that even though the new version is installed per-user, the previous version is not uninstalled at all and is remained side-by-side with the new one! Any ideas why this happens and how to fix it?

Thanks
Labels (1)
0 Kudos
(2) Replies
KathyMorey
Level 10

We've run into the opposite issue, trying to go from per-user to per-machine. Unfortunately, by design, an MSI installed per-user cannot remove a per-machine install nor can an MSI installed per-machine remove a per-user installation. You may have to do something creative like releasing a setup.exe that first runs the old uninstall, and then runs the new install. Or, if you know your customers never install silently, you can run the old uninstall from the UI sequence of the new install. (That certainly isn't a "best practice", though, because you aren't supposed to make system changes during UI, and because the uninstall cannot be "rolled back" in case of install failure.)
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

You may be able to work around this behavior (with ISSetAllUsers included) by deleting the ALLUSERS property (with a Set Property custom action) after the FindRelatedProducts action has run. I'm not entirely certain what ramifications this method has, but some of our users have reported success with this method.
0 Kudos