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

Small and Minor upgrades for chanined MSI installers - How to?

Dear Flexera

Short version:

Is there direct support for minor and small upgrades for chained MSI installers in InstallShield 2012?

If not – what are the exact steps I need to do, in order to get it working?

The longer version:

I have developed an installer, using the Chained MSI technology to componentize my installation.
Installation and major upgrades works just fine, but it is another case when it comes to Small and Minor upgrades.
For now, let’s focus on minor upgrades, since small upgrades are less relevant in my case.
I get the following in my MSI log, whenever I try to do a minor upgrade. I have edited the version number of the main MSI and those of the chained MSI’s which has been edited. No product codes has been changed, as it should be when doing minor upgrades. However, after the installation, only the main MSI has been upgraded – no changes to the chained packages. In the MSI log, I can see the following:

InstallShield 9:18:25: Skipping chained package Pkg1 installation because it is already installed
InstallShield 9:18:25: Skipping chained package Pkg2 installation because it is already installed
InstallShield 9:18:25: Skipping chained package Pkg3 installation because it is already installed
InstallShield 9:18:25: Skipping chained package Pkg4 installation because it is already installed

So, I start to google it, and I stumble upon this nicely written White Paper, concerning Chained MSI installations:

There, it clearly states on page 6 in the bottom, that Small and Minor upgrades does not work by default. It does, however, mention a workaround, but not one I have had success with implementing.

I can see from this post on (from the InstallShield 2010 forum), that the problem existed back then, and that there is an open Work-order# IOC-000079413 to implement this feature:

It does not seem, neither from the release-notes or my own experience with InstallShield 2012, that there is any support for it yet. When is this planned to become supported?

Until then - what is the exact steps to get it to work right now?

According to the previously mentioned White Paper, I should be able to get it to work, by adding 16 in the Options-column of the ISChainPackages. That I have tried, but it yielded a failed installation, with the following in the MSI-log:

[FONT="Courier New"]MSI (s) (A8:88) [09:53:51:648]: Windows Installer reconfigured the product. Product Name: MyProductName. Product Version: Product Language: 1033. Reconfiguration success or error status: 1638.

MSI (s) (A8:88) [09:53:51:648]: MainEngineThread is returning 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 on the Control Panel.[/FONT]

Do I need to pass some properties or install conditions to the chained packages in the release-view as well?

Any help is much appreciated.

Best regards

Labels (1)
0 Kudos
(3) Replies
Level 4

Bumping this thread, since I am still having trouble with this issue!

Any help is much appreciated!

Best regards
0 Kudos
Level 12 Flexeran
Level 12 Flexeran

First you should verify you can get this working outside a chained installation. For example, when installing a minor upgrade over the previous version, the REINSTALL property must be specified; it must be omitted when it's a first-time install. If you are launching from our setup.exe bootstrap, this happens automatically, but in chaining there is no bootstrap, so you're better off simulating tests with command-line calls to msiexec.exe.

Once you know the full set of properties you need to specify to make your first time install and your minor upgrade scenarios work correctly, then you can work on specifying that in the chain.

Or, if you have the Premier Edition, you can use Suite projects which should handle this much more cleanly.
0 Kudos
Level 9

So Christian have you had any luck with enabling the Chained install packages to run in Minor Upgrade mode if they are detected as minor upgrades.

I have the initial work enabled in my Chained parent, such as added the detection for Minor, Major, and Newer versions installed. Set command line properties according to Major/Minor detection properties. But I have not yet enabled the features as we were on a tight time line and therefore just made sure all release chained products were Major upgrades for now.

But now we are looking at a few products that will be minor upgrades and therefore I have to see if I can get this to work.

So if you have gotten anywhere on this could you let me know what steps you had to do to get this to work correctly?

0 Kudos