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

Basic MSI question - ProductCode detection

Hi,

I have an InstallScript MSI project (IS2009), which uses major upgrade.

I accidently forgot to update the product code in a new build (version has been changed in the new release), so the new version (say 2.2) has the same Upgrade AND Product code as 2.1.

According to MSI, when installing 2.2 on top of 2.1 (upgrading), I should expect an error message from MSI saying something like "Another version of ...." and can't proceed with the install. But the reality is that the ugprading proceed smoothly to complete. I think it's incorrect, but don't know where I should look at.

I also checked that Upgrade table has been filled with proper Upgrade code.


Any idea?


Thanks,
PB
Labels (1)
0 Kudos
(7) Replies
pbsdis
Level 6

I also checked registry that the product code of 2.1 has been there in various locations like ...\Installer\Products\{re-ordered-prod-code\ProductIcon.

The installer project (.ism) has standard CAs like FindRelatedProducts, ValidateProductID, etc.
0 Kudos
ChandanOmkar
Level 8

You can check through instalscript in the following reg key :

HKLM\Software\Microsoft\Windows\Current Version\Uninstall\

Here you can check for the product version and show the message through installscript.
0 Kudos
pbsdis
Level 6

Thanks for your reply.

I have already checked that - actually I also checked other places in registry.

My question is, I am expecting 2.2 to complain about 2.1 since they share the very same UpgradeCode AND ProductCode, but why 2.2 didn't?

My guess is that some where in 2.2 is broken so that it failed to detect that or/and it lost the complaining part (I think it's from MSI)? But where and how can I check and fix?


Thanks,
PB
0 Kudos
HenryL
Level 5

Windows Installer will take this as a minor upgrade.
0 Kudos
pbsdis
Level 6

Well, I doubt it.

It has been that way (for example, 2.0 to 2.1 as major upg by filling Upgrade table and changing ProductCode) and worked fine.

As I said, it must be somewhere that was broken for Windows Installer to find and complain about existence of 2.1 when 2.2 installs.


Regards,
PB
0 Kudos
HenryL
Level 5

If you're expecting the error 1638 to happen, the package code should be changed (keep the upgrade code and product code the same).

Error 1638:
Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Add/Remove Programs in Control Panel.
0 Kudos
reachyouvenkat7
Level 4

Hi,

Whatever the upgrade is , I mean to say that whether it is a Minor,Major upgrade - The upgrade codes between the releases will be the same.

Have a look over this upgrades.jpg which explain the type of upgrade
0 Kudos