我正在尝试在我的产品安装期间调用依赖的MSI设置(存储在二进制表中)(例如,在InstallExecuteSquence中的InstallFiles之后),在我的WiX代码中使用自定义操作“运行可执行文件”(我使用WiX v3.5.2519) .0)像这样:
<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>
当我运行我的MSI文件时,它会一直走到自定义操作“INSTALL_OTHERMSI”。但它始终失败并显示错误消息:
无法运行此安装所需的程序。
我不想使用引导程序,我想要纯MSI。我见过类似的安装(比如JetBrains ReSharper,它在安装过程中安装Visual Studio 2010 SP1)已经完成了这个工作。我该如何解决这个问题?