cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
eladef
Level 7

Support application side by side installation

Hi

I have a request to support side by side installation of our application so I have updates my Basic MSI project with product code, product name and package code and also changed the destination folder, registry keys and shortcuts so now I can install 2 versions on the same machine.

Now when uninstalling version 2.0 it also uninstall version 1.0 files, I found that if I also change the upgrade code the problem is solved but then I will not be able to make version 2.0 as a major upgrade of 1.0 instead of side by side.
But even if I change the upgrade code the shortcuts of version 2.0 are not removed,

I did not updated the GUID of the components is it a must ?
What is the best and automatic was to update components id in basic msi project ?

Thanks
Labels (1)
0 Kudos

(3) Replies
bertlM
Level 3

Maybe you have a look at "Multi-Instance Installations" under Media > Releases > Product Configuration.
Of course you have to follow some rules e.g. directories, COM registrations, registry....
0 Kudos
eladef
Level 7

Thanks for the tip
I have tried that but still when I uninstall an instance the shortcuts are not being removed
In the new instance I created I have set the ProductCode, ProductVersion and ProductName.
0 Kudos
chriscw
Level 6

We have done this kind of thing two different ways:

If you want to be able to start either install from short cuts and uninstall independently then yes change the GUID and include the release number in the program files install directory to keep the releases separate. You will be able to run either version and also uninstall either version.

If you just want to keep the old version in case someone needs to go back to it then a way is toe script a directory name based on last version and create the directory in the BeforeUpdateUI procedure then copy the current files there. You could perhaps also script the creation of a shortcut for the copied version. Then you can install the new version in the normal way but the older version is still there and can be run if it is needed.
0 Kudos