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

CA condition for a minor upgrade

Hello everyone,

I have an Install script CA that I want to run only under a select set of conditions.
And I'm having a devil of a time figuring our how to "code" the conditions correctly.

I'm wondering if I might ask for help from those more experienced in these issues.

I only want my CA to run if performing a minor upgrade.
NOT during a first time install.
NOT during an uninstall.
And NOT during a repair or change.


Here's an example of the command line that I use to execute the minor upgrade.
msiexec /i "C:\TestAPP.msi" REINSTALL=ALL REINSTALLMODE=vomus /l*v "C:\Upgrade.log"

Is there a way for me to condition my CA to work only during a minor upgrade ?

Thanks in advance for the advice.
Labels (1)
0 Kudos
(2) Replies
Cary_R
Level 11

Hi Ray,

By definition, a Minor Upgrade is defined by the value of the REINSTALLMODE property. Specifically, the 'v' parameter that re-caches the MSI on the system. So in theory, something like:

REINSTALLMODE><"v"

Would singularly define this. But this wouldn't work in a Minor Upgrade Patch, since that relies on PATCH being set instead of re-caching an MSI package via "v". So, something like this should work a bit better:

((REINSTALLMODE><"v" OR PATCH) AND NOT REMOVE~="ALL") AND Installed

Or, if you are expecting users to only run a Minor Upgrade via the InstallShield Setup.exe file, you can just as easily rely on:

IS_MINOR_UPGRADE

(Which we set on the commandline during a Minor Upgrade with our Bootstrapper)
0 Kudos
RayKode
Level 6

Thank you for the reply.

I DO appreciate your time.

Ray in Wisconsin
0 Kudos