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

MSI package with conditional chained items MUST install at least one ?

I ran into an issue today and didn't see anything about it in searching the forums.

I have a basic MSI x64 project with some chained MSI's, and this has worked fine in the past. Recently I added a new product configuration which is supposed to use NONE of the chained packages. Apparently this case doesn't make Windows installer happy ... I captured a log and I believe this is the relevant error:

Action 16:28:54: ISChainPackagePrepare.
Action start 16:28:54: ISChainPackagePrepare.
CustomAction ISChainPackagePrepare returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 16:28:54: ISChainPackagePrepare. Return value 3.

If I rebuild and alter the release flags to allow one of the chained packages to be included as a test, the install succeeds.

I'm hoping there is a workaround for this so I don't need to maintain duplicate copies of 2 MSI projects (32-bit and 64-bit) to handle the "do not use any chained MSI" product config/release case. Any advice would be appreciated.

Thanks.
Labels (1)
0 Kudos
3 Replies
BrHartmann
Level 7

Granted, rather than resort to duplicating the larger project, I would create a tiny dummy additional chained msi package that would effectively be invisible to the end user. Still, if there's a fix or a better workaround someone can suggest, please let me know.

Thanks.
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

One approach could be to conditionalize the ISChainPackagePrepare action against the appropriate ISReleaseFlags value such that it does not execute in this scenario.
0 Kudos
BrHartmann
Level 7

Thanks Michael, worked like a charm.

(Note to others - there is a help file topic specifically addressing how to use this: "Conditionally Launching Custom Actions Based on Release Flags")
0 Kudos