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

Upgrade: How to make installed product Not Related?

Hello,

How can I make installed product Not Related to the current new installation?

I tried to change the installed application UpgradeCode in \Installer\.msi file on the fly immediately after AppSearch and before ISSetAllUsers, but this did not help. Although the UpgradeCode is different now, the current new installation still detects the installed product as Related.

Note: I don't want to change the current new installation's Upgrade table as I want some of previously released products to be related but others - not related. However both previously released sets of products have the same UpgradeCode and both are identified as Related.

Advise is very appreciated! Thank you.
IK
Labels (1)
0 Kudos
(10) Replies
girishkatti123
Level 7

Check the upgrade scenarios from IS help which would suit your requirement best.
0 Kudos
ikotlova
Level 4

Hi girishkatti123,

Your recommendation sounds like the advise to look for a job in the Internet. Or the advise to buy vegetables at a grocery store.

Do you have something concrete in mind? If yes, then share, pls.

Thanks,
IK
0 Kudos
Lurean
Level 8

If I understand what you are asking correctly I don't think it can be done.

You are wanting to have one product be counted as related and another not count as related, but both the products have the same upgrade code?

You might be able to do this if the two products in question have sufficiently different version numbers by adjusting the upgrade scenarios in the "Upgrades" view to only include certain versions. But even then I am not sure of the behavior you would get.

The upgrade codes should only ever be set to the same thing if the two products are related, so having two products that are not related with the same upgrade code is bad design.

Other than that the only choice I can think of is to change the upgrade table.
0 Kudos
ikotlova
Level 4

Lurean,

By accessing the installed product MSI database directly I already changed its UpgradeCode. So now when I run the current installation for the second time the installed product UpgradeCode shows a different value.

However this installed product is still recognized as Related. It is evident that there is another dependency and something else in the MSI database is telling the current installation that the installed product is of the same family. The question is: what is this parameter?

Thanks,
IK
0 Kudos
Lurean
Level 8

in the Upgrade table of the MSI, it defines all products that are related. If you have a value hard coded into the "Upgrade Code" column it will resolve as related. If the upgrade code entry is all zeros (in GUID format) then it will resolve to the current MSI upgrade code if I recall correctly.
0 Kudos
ikotlova
Level 4

I am not getting what you mean.
The value in the Upgrade table is hard coded to the initial UpgradeCode value. This UpgradeCode value in the installed product is now changed - so the installed product should not be recognized as Related. However it is still recognized as related.
0 Kudos
Lurean
Level 8

it does not use the value of the UpgradeCode from the Property Table to compare. It uses the values from the Upgrade Table to compare, if you want it to use the value from the Property table you will need to not have the value hard coded in the Upgrade table as this will override anything else.
0 Kudos
ikotlova
Level 4

Do you mean the Upgrade table on the current (new) product?
Or you mean the Upgrade table of the installed (old) product?

I changed the UpgradeCode field in the Upgrade table of the current product to all zeroes but the installed product is still recognized as related. Note: I did not change the Upgrade table of the installed product yet. The installed product was built with IS 10.5 if that matters.

IK
0 Kudos
ikotlova
Level 4

In the installed (old) product built with IS10.5 I dropped all rows in the Upgrade table. And (as mentioned before) I changed the UpgradeCode in the installed (old) product so that UpgradeCode in the old product and in the new product are different. The current (new) IS2010-built installation still recognizes the installed product as Related.

Evidently there is another dependency: somehow FindRelatedProducts() standard action catches that the product is of the same UpgradeCode. What is this parameter?

Thanks,
IK
0 Kudos
ikotlova
Level 4

I found registry entries related to the UpgradeCode:

HKEY_CLASSES_ROOT\Installer\UpgradeCodes\
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UpgradeCodes\

is the string derived from the real product UpgradeCode. It can be find out by comparing the system before and after the product installation.

After I updated the registry with the correct values the product started to show up as Not Related.
Note: UpgradeCode in the local MSI database does not need to be changed.

Thanks,
IK
0 Kudos