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

Automatic Major Upgrade detection question

Hi All,

I have IS 2022 R1, Basic MSI project and want to be able to detect if automatic major upgrade is happening when the existing version is getting uninstalled.

For example,
I install Version 1.0.
I prepared Version 2.0 to support Automatic Major Upgrade.
I install Version 2.0.

I have InstallScript function that gets invoked when Version 1.0 is UnInstalled.
I also have InstallScript function that gets invoked when Version 2.0 is getting Installed.
I use below code in both above scenarios to tell me if automatic upgrade is happening.

MsiGetProperty(ISMSI_HANDLE, "IS_MAJOR_UPGRADE", svIsMajorUpgrade, nBufferSize);

When Version 2.0 is getting installed, above code detects automatic upgrade is happening and hence I am able to perform certain tasks.

But during the upgrade, when Version 1.0 is getting UnInstalled, the above code is not able to detect that this is an upgrade. I need to perform certain tasks at uninstall time when Version 1.0 is uninstalled during the automatic upgrade. How can I achieve this. 

Labels (1)
0 Kudos
(1) Reply
Revenera Moderator Revenera Moderator
Revenera Moderator

When a Major Upgrade uninstalls the previous version the Property UPGRADINGPRODUCTCODE is created - you can try using that to identify the uninstall instead of IS_MAJOR_UPGRADE


0 Kudos