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?
Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Klaus
  • 203
  • 1
  • 2
  • 11

2 Answers2

6

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

Wim Coenen
  • 66,094
  • 13
  • 157
  • 251
  • 1
    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! – Klaus Apr 08 '12 at 05:16
  • @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." – Wim Coenen Apr 08 '12 at 06:04
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?

Phil Hannent
  • 12,047
  • 17
  • 71
  • 118
  • 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. – Klaus Apr 07 '12 at 07:30