cancel
Showing results for 
Search instead for 
Did you mean: 
Magnus
Flexera beginner

Re: Minor upgrade does not work

Thanks!!
I can see in the msi log that REINSTALL=ALL is set from command Line, but can't find how to remove this "REINSTALL=ALL" from command line?

MSI (c) (0C:84) [11:33:18:770]: Command Line: REINSTALL=ALL
0 Kudos
Reureu
Pilgrim

Re: Minor upgrade does not work

You can't, and you shouldn't even try.
Users are not supposed to change the feature selection when performing a minor upgrade.

The minor upgrade is in actual fact a reinstallation of the same product, which only upgrades the components that have changed.
You can try to launch a minor upgrade from the command-line, in the same way as your setup.exe launcher does:
It would be something like:
msiexec /i "YourProduct.msi" REINSTALL=ALL REINSTALLMODE=vomus IS_MINOR_UPGRADE=1

What you need to do is use the minor upgrade validator to see if your setup can perform a minor upgrade at all.

So why would you try to reset the REINSTALL property? To perform a "standard" installation? If that's the case, you might want to go for a major upgrade.
0 Kudos
Highlighted
Magnus
Flexera beginner

Re: Minor upgrade does not work

Now have found a solution of this problem.

If I change

ReinstallModeText=omus

to

ReinstallModeText=vomus

the upgrade suddenly works fine. You can try this in the attached file ATestInstall.zip (found in this early thread).

But I still want to know why ReinstallModeText=omus generates this bad behavior, is it a bug in InstallShield or msiexec, or s it something else in this ism-project that makes the "omus" setting fail?
0 Kudos
Reureu
Pilgrim

Re: Minor upgrade does not work

According to http://helpnet.flexerasoftware.com/isxhelp19/helplibrary/IHelpISXProperties.htm, the ReinstallModeText should not be relevant for a Minor Upgrade. But as you might have understood in my previous reply, REINSTALLMODE is relevant!
As stated in the documentation, ReinstallModeText and REINSTALLMODE are related: the value of ReinstallModeText is used to set the REINSTALLMODE when you click on Repair in a maintenance scenario.
So, if I follow your reasoning, the REINSTALLMODE property might be erroneously set to "omus" during your minor upgrade.
When performing a minor upgrade, the "v" in the REINSTALLMODE property is required. "v" means "runs from source and recaches local package"

Why don't you try the following:
[LIST=1]
  • Leave the ReinstallModeText property set to its default value (omus) in the Property Manager
  • Rebuild your installation package
  • Try to launch your minor upgrade using msiexec
    msiexec /i "Blabla.msi" REINSTALL=ALL REINSTALLMODE=vomus IS_MINOR_UPGRADE=1 /L*vx C:\Logfile.txt
    or
    setup.exe /V"/L*vx C:\Logfile.txt"

  • Then analyze your logfile to see whether the REINSTALLMODE property changes during the upgrade. It shouldn't!
    If it is reset to omus during the upgrade, then try to see which action resets it. You should be able to narrow it down.


    Did you try the minor upgrade validation tool?
  • 0 Kudos
    Magnus
    Flexera beginner

    Re: Minor upgrade does not work

    Hello, thanks for helping me!! So, if "v" is required in minor upgrade, your reasoning sounds to be correct.

    I don't really understand "runs from source and re-caches local package", could you please explain?

    I have tried the upgrade validation tool, but it give me nothing, the only thing I changed between the releases is actually the version number.

    BR
    Magnus
    0 Kudos
    Magnus
    Flexera beginner

    Re: Minor upgrade does not work

    OK, running as suggested above give me folowing logFile:

    [FONT=Courier New][SIZE=1]Info 2726.Action not found: SetMediaPackagePathRegistryEntry.
    Action ended 12:06:59: SetMediaPackagePathRegistryEntry. Return value 0.
    MSI (c) (F8:1C) [12:06:59:433]: PROPERTY CHANGE: Modifying REINSTALLMODE property. Its current value is 'vomus'. Its new value: 'omus'.
    Action ended 12:06:59: SetupResume. Return value 1.
    [/SIZE][/FONT]
    Need help from here finding where REINSTALLMODE resets to "omus"
    0 Kudos
    Reureu
    Pilgrim

    Re: Minor upgrade does not work

    About the "v" in REINSTALLMODE: As you know, when installing an MSI package, one slightly adapted version of the MSI package is cached on the local machine (in C:\Windows\Installer).
    When reinstalling or repairing product, you can ask Windows Installer to re-cache the local MSI package.
    As explained earlier, the minor upgrade consists of reinstalling the same product with a package with the same ProductCode, but a higher version.
    If everything works, you would expect the product to be installed as if it had been directly installed with the latest package. Therefore, the local MSI package needs to be recached with the latest version so you can perform a maintenance, a repair or a deinstallation.

    As you probably know, you need to tell Windows Installer how to behave some files/registry entries already exist on the target PC. Shall they be overwritten or not? What rules shall be applied?
    This is actually the main purpose of the REINSTALLMODE property. On top of that, it allows you to tell MSI to recache the local package.
    With that in mind, I would suggest you type msiexec /? in a command prompt and read the description of the various parameters.

    As for you logfile, just post it on the forum.

    It's a pleasure to help when people learn something from it. Maybe I should start a consultancy business Smiley Wink
    0 Kudos
    Reureu
    Pilgrim

    Re: Minor upgrade does not work

    Hi Magnus,

    I assume you managed to solve your problem with the REINSTALLMODE property.
    Am I right in thinking that it was due to the Next button of the SetupResume dialog sending a ReinstallMode event with [ReinstallModeText] as argument?

    Regards,
    Reureu
    0 Kudos
    Magnus
    Flexera beginner

    Re: Minor upgrade does not work

    Yes, I removed the event in the SetupResume dialog and now the installation work like a charm, many thanks for all help I got from you!!!

    Regards
    Magnus
    0 Kudos