MSI installer calling another MSI installer in silent mode using WiX
Asked Answered
B

2

11

I'm using WiX to make an MSI installer to call another MSI installer.

  • I can resolve this situation in UILevel=5 (Full UI) mode. My solution is add a CustomAction to the UISequence table that call another MSI. It will not get error code 1500: "Another installation is already in progress..."
  • But in slient mode, UILevel = 2, I can't do it, because it only runs CustomAction in ExecuteSequence. How can I run my MSI in silent mode and call another MSI installer?
Ballflower answered 7/4, 2012 at 7:14 Comment(0)
G
6

Install both MSIs with the Burn bootstrapper included with wix 3.6.

Goddess answered 7/4, 2012 at 13:22 Comment(2)
I understand that "Burn bootstrapper" will resolve prerequisites(NET 35, Java...) problems. It appropriate with "Msi call another msi by custom action" issues? Anyway, it's only way for me now. Hope it can be done! Thank sir!Ballflower
@klaus: from the link I gave in my answer above: " Bundles also allow very large applications or suites of applications to be broken into smaller, logical installation packages while still presenting a single product to the end-user."Goddess
H
1

Strictly speaking MSI files are transactional installers so they can only occur one at a time.

Microsoft get around this with merge modules which are like MSI but are used for embedding in MSI files.

Any chance the MSI you want to embed could be changed to be an MSM file?

Holms answered 7/4, 2012 at 7:20 Comment(1)
I thought this solution. It mean that child MSI embed in database of parent MSI. But I can't use this solution because my child MSI can change after compile time, parent MSI can only call it via CustomAction.Ballflower

© 2022 - 2024 — McMap. All rights reserved.