cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
KrisVanherck
Level 6

Problem with major upgrade

I have an InstallScript MSI project with 3 major upgrade items, but he doesn't uninstall them. I've found this in the logging:

[CODE]MSI (c) (74:E4) [10:47:59:859]: Doing action: FindRelatedProducts
Action 10:47:59: FindRelatedProducts. Searching for related applications
Action start 10:47:59: FindRelatedProducts.
MSI (c) (74:E4) [10:47:59:859]: FindRelatedProducts: current install is per-user. Related install for product '{6348835D-77AF-4556-8E63-510937DE56EE}' is per-machine. Skipping...
MSI (c) (74:E4) [10:47:59:859]: FindRelatedProducts: current install is per-user. Related install for product '{0B9B25A6-A8B9-43C5-B4A4-90C0B3EFAFCE}' is per-machine. Skipping...
MSI (c) (74:E4) [10:47:59:859]: FindRelatedProducts: current install is per-user. Related install for product '{7D29DF82-BE7D-42F3-A7D0-31DAD1209425}' is per-machine. Skipping...
Action ended 10:47:59: FindRelatedProducts. Return value 1.
MSI (c) (74:E4) [10:47:59:875]: Doing action: ValidateProductID
Action 10:47:59: ValidateProductID.
Action start 10:47:59: ValidateProductID.
Action ended 10:47:59: ValidateProductID. Return value 1.[/CODE]

This new project should be a per-machine installation, did i make a mistake somewhere on that front or is it something with how the old stuff is installed.

The old installations should also be per-machine, but i don't really care if there where a few that got installed per-user. I just need the old stuff to get removed.
Labels (1)
0 Kudos
(3) Replies
cbragg
Level 7

You have changed the value of your ALLUSERS property between the versions.

What you are trying to ask it to do is upgrade a version that was intended to be installed seperately for each user with one that is intended to be installed for all users.

The easiest thing to do is to get the users to uninstall the previous version first. Other than that you can try patching the current installation but not sure if that's even doable for the ALLUSERS property for the same reason.
0 Kudos
KrisVanherck
Level 6

So the way of the upgrade is probably a dead-end.

Well what about other options? As i said it doesn't really matter much how it is done (as long as it isn't the user having to do it :D).

I tried using this function:
UninstallApplication ( szUninstallKey, szAdditionalCmdLine, nOptions );

But it doesn't wait for the uninstall to finish, in the situation where all 3 old projects are present this result in utter chaos :eek: because 3 installers are being launched at the same time all asking if you wish to uninstall (even with passing the LAAW_OPTION_WAIT option)
0 Kudos
KrisVanherck
Level 6

- fixed the waiting problem by using LAAW_OPTION_WAIT_INCL_CHILD instead
- fixed the "are you sure you want to uninstall..." by passing "-uninst -removeonly" in szAdditionalCmdLine
-By adding the UninstallApplication in a OnInstalling it's perform while there is a screen with progressbar on. Unfortunantly it doesn't "progress" but it's presence keeps people form freaking out ("Why is nothing happening!...") during the rather long wait for the child uninstaller to start.
0 Kudos