10
votes

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?
3

3 Answers

6
votes

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

1
votes

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?

-1
votes

You could try launching the second MSI with a deferred asynchronous custom action, no return code check, scheduled after InstallFinalize standard action. This way the custom action would be launched when the first one has finished installing.