I am trying to call a dependent MSI setup (stored in Binary table) during my product installation (for example, after InstallFiles in InstallExecuteSquence) using a custom action "run executable" in my WiX code (I use WiX v3.5.2519.0) like this:
<Upgrade Id="{CB60C307-588D-47F5-87DD-7FDAE12434B0}">
<UpgradeVersion Property="OTHERMSI"
Minimum="1.0.0"
Maximum="1.1.0"
IncludeMinimum="yes"
IncludeMaximum="yes"
OnlyDetect="yes"/>
</Upgrade>
<CustomAction Id="INSTALL_OTHERMSI"
Impersonate="yes"
Return="check"
Execute="immediate"
BinaryKey="Other.msi"
ExeCommand=""/>
<Binary Id="Other.msi"
SourceFile="c:\temp\sources\Other.msi"/>
<InstallExecuteSequence>
<Custom Action="INSTALL_OTHERMSI"
After="InstallFiles">OTHERMSI="" AND NOT PATCH AND NOT Installed</Custom>
</InstallExecuteSequence>
When I run my MSI file it walks through until the custom action "INSTALL_OTHERMSI". But it always fails with an error message:
A program required for this install to complete could not be run.
I don't want to use a bootstrapper, I want pure MSI. I've seen similar installations (like JetBrains ReSharper, which installs Visual Studio 2010 SP1 during setup) already doing the trick. How can I fix this problem?