cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Tommmy
Level 2

How to change Upgrade Code?

Hello,

I would to like to know how to change the "Upgrade Code" of the software that has been already installed.
I made three software installers with Install Shield 2013 but I mistakenly set the same Upgrade Code to three of them.
So, those different 3 software has the same Upgrade Code, (Product Codes are different each other) even though they are not the same software.


There are following 3 software installers but all software are completely different software.
A's is version 1.0.0
B's is version 1.0.1
C's is version 2.4.0

When I install one of them, other software(s) which version is lower are uninstalled.

For example, the case B is installed,,,
When I install C, B is uninstalled by C's installer because C is higher than B.
Whereas I install A, B is not uninstalled because A is lower than B.

I would like to guard to uninstall othersoftware but I don't know how to.


If you know the good solution of it, please tell me.
I'm sorry for my poor English.

Thank you,
Tommmy
Labels (1)
0 Kudos
(3) Replies
DLee65
Level 13

The only way I know of is to use a major upgrade, and find a way to target ONLY the package you need.

Under the Media group, select 'Upgrades'.
In the section 'Prepare Setup for Upgrade Scenarios' expand 'Upgrade Windows Installer Setup'.
Right click on this section title and select 'Add Major Upgrade Item'. Type a meaningful property name for this.
Select the radio button control to the right indicating 'Products having another Upgrade Code', and paste in the upgrade code that is shared between all three.
Next, and here is your magic, for Product Version, just specify the particular version you want to target with these changes. Use the specific version option in your case since you are not interested in upgrading a particular range.

Now go to your Release configuration.
Right click on 'Releases' in the Releases view and select to add a new configuration.
Specify a meaningful name for the release configuration.
Now modify the Product Name, Product Version, Package Code, Product Code, and most importantly, the Upgrade Code.
Right click on your configuration and add a new Release and configure this as normal with appropriate release flags and such to ensure you get the right binaries included for this release.

I have a product that upgrades some previous releases from years ago that use different upgrade codes and I know that this process works pretty slick., You may need to modify some items for your work flow. Hopefully this helps.
0 Kudos
Tommmy
Level 2

Hello, Mr. Dan Lee

Thank you very much for telling me the way of solving this problem.
I applied settings you mentioned, but there were some problem remained.

So, I wrote script to delete old version before updating.


Before deleting old version by script, following issue happened.
There are 3 softwares, A, B and C. I changed settings of A and B's Install Shield projects following your lecture.
However, following issue happened.

A version 1.0.0 install -> Pass
B version 1.0.1 install -> Pass
A version 1.0.1(upgrade code and product code are revised) install ->Pass
B version 1.0.2(upgrade code and product code are revised) install ->Pass
C version 2.4.0 install -> Fail

When C's installer was operating, exception error occurs.
After this, B's version 1.0.1 (older version) information is appeard in the "Add or Remove Programs" of Windows Control Panel.
(There was information both B's version 1.0.1 and 1.0.2, and 1.0.1 looks bug. )


Thanks to you I can fix my installers.

Thank you very much.


BR,
Tommmy
0 Kudos
DLee65
Level 13

Tommy,

I am glad to hear that you were able to get this worked out.
I had to provide a custom uninstall as well for one of our older packages. During upgrade of the older package the MSI validation would fail and we could not discover why. It was just easier to create a process that runs as a 'prerequisite' that uninstalls older packages if the version is less than a specific target version.
0 Kudos