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

Chained .msi Package - Small Upgrade not working

Hi

I’m using a Chained .msi to install 2 other msi’s. New installs and uninstalling is work but it is not doing the small\minor upgrades. The condition for the install (Install condition) is true for the upgrade (Not Installed OR REINSTALL><"FeatureName" (help sample)) but the ISChainPackagePrepare custom action shows that the product is installed and therefore the install is skipped. The Product Version and Package Code was changed for all the msi packages. Changing the Product Code works but then it's not a minor update.

MSI (s) (78!AC) [11:29:44:640]: Creating MSIHANDLE (128) of type 790531 for thread 2220
MSI (s) (78!AC) [11:29:44:640]: Closing MSIHANDLE (128) of type 790531 for thread 2220
MSI (s) (78!AC) [11:29:44:640]: Creating MSIHANDLE (129) of type 790531 for thread 2220
MSI (s) (78!AC) [11:29:44:640]: Creating MSIHANDLE (130) of type 790531 for thread 2220
InstallShield 11:29:44: Skipping chained package ContentManager installation because it is already installed
MSI (s) (78!AC) [11:29:44:640]: Closing MSIHANDLE (130) of type 790531 for thread 2220
MSI (s) (78!AC) [11:29:44:640]: Closing MSIHANDLE (129) of type 790531 for thread 2220


The Help indicates that it should work?

Enter any installation condition that you want to use for the chained .msi package. If the condition evaluates to True at run time, the Windows Installer launches the chained .msi package if the chained package’s product has not already been installed.
The default condition is:
Not Installed
You can modify this if necessary. For example, if you are adding the chained .msi package to a minor upgrade and you want the Windows Installer to launch the chained .msi package during a first-time installation and during an upgrade, consider adding a condition such as the following one:
Not Installed OR REINSTALL><"FeatureName"
In this example, FeatureName is the name of a feature that will be updated if the main installation is running in upgrade mode. It will also be updated during a repair.




Any assistance will be much appreciated.
Labels (1)
0 Kudos
(8) Replies
MichaelU
Level 12 Flexeran
Level 12 Flexeran

The help here is targeting the case where the chained package got uninstalled without removing the corresponding feature of the package which references it.

It is possible to override the check that avoids running maintenance of the chained package, but it is not clear how one would do this and not tend to result in unexpected scenarios. Consider that an msiexec /i AlreadyInstalledPackage.msi will run maintenance.

If you're willing to work through and test the various scenarios that enabling this option will expose, you can enable it by adding the flag ecoReinstallInstalled (16) to the Options column of the ISChainPackage table for the package or packages in question. Note that despite the name of the flag, it does not alter the command line, so will not pass a parameter like REINSTALL=ALL to the chained package.
0 Kudos
DeployIT_SA
Level 4

Hi

Thanks that worked. I have a custom action that sets the Install command line for the type of install, new or update.

I will do some more testing.

Thanks
0 Kudos
DeployIT_SA
Level 4

Hi

Where can I find more information on the Options. There is nothing in the help, that I can see.
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

The first two bits correspond to the UI selection you make. The only other bit (32) allows it to try and fail to remove a package that is not installed on the machine. When we released this feature, we implemented the support for these flags, but didn't think they were useful enough to document. I've heard a request for the reinstall bit before, so we may have to revisit this decision.
0 Kudos
Tim_Mayert
Level 9

Hello DeployIT SA,

So were you able to get Chained MSI's to work correctly in Minor Upgrade mode?

We are looking at Chaining a bunch of our products to make a suite install, controlled by a parent UI front end. So before we go to far into it we were looking to verify it does what we wanted.

So were you able to get the chained installs to correctly install as first time/full installs on clean or systems that required major upgrades of the software and as minor upgrades on systems that had previous versions that requires only minor upgrades? If so can you explain how you accomplished this?

Also as a side question have you tried running Chained installs in a Web install where it would only download and trigger the chained installs of the selected features?

Thanks,
0 Kudos
Tim_Mayert
Level 9

Still waiting on a answer to this.

How can we go about changing the command line for the chained installs so that if it is a minor upgrade that will will correctly use the REINSTALLMODE=vomus REINSTALL=ALL, but at the same time if the attached install is a .msp instead of a .msi then having the command line switch from the default (msiexec /i) to a command that supports patching (msiexec /p).

So if anyone else has this going or knows how/what to change so that the soomand line could be changed then I would really appreciate hearing from you.

Thanks,
0 Kudos
Tim_Mayert
Level 9

Okay I have received no response from this thread, but the question still stands.

From this thread it implies that you can do minor or major/first time installs with chained msi projects, but from IS support they state that there is no direct way to support Minor Upgrades.

So which is is? Can chained installs support minor upgrades of any of the chained msi's and if someone has got this to work then can you at least let me know if it is possible and maybe just a little blurp on what may need to be done to supprot this?

Thanks for any responses...
0 Kudos
Tim_Mayert
Level 9

DeployIT SA wrote:
Hi

Thanks that worked. I have a custom action that sets the Install command line for the type of install, new or update.

I will do some more testing.

Thanks


Sorry to be bugging again, but I have the same issue where installing a Chained install and then running it again does not seem to trigger the already installed children installs in maintenance/repair mode. So setting this ecoReinstallInstalled (16) option does work for this case??

Also again you mentioned having a CA that will set the Install properties for a new install as well as an Update/Minor install. Could you explain this custom actions and condtions?

Your help would be really appreciated...
0 Kudos