第一次安装时根据MSI调用的自定义WiX操作
我试图在产品安装期间调用存储在二进制表中的依赖MSI设置,例如,在InstallExecuteSquence中使用自定义操作运行WiX代码中的可执行文件后,我使用WiX v3.5.2519.0,如下所示:第一次安装时根据MSI调用的自定义WiX操作,wix,windows-installer,Wix,Windows Installer,我试图在产品安装期间调用存储在二进制表中的依赖MSI设置,例如,在InstallExecuteSquence中使用自定义操作运行WiX代码中的可执行文件后,我使用WiX v3.5.2519.0,如下所示: <Upgrade Id="{CB60C307-588D-47F5-87DD-7FDAE12434B0}"> <UpgradeVersion Property="OTHERMSI" Minimum="1.0.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文件时,它会一直运行,直到自定义操作安装_OTHERMSI。但它总是失败,并显示一条错误消息:
无法运行完成此安装所需的程序
我不想使用引导程序,我想要纯MSI。我见过类似的安装,比如JetBrains,它在安装过程中安装了VisualStudio2010SP1。如何解决此问题?首先,Windows Installer不允许同时运行两个安装。因此,这种方法将不起作用。你需要的是MSI链接。您可以使用元素首先,Windows Installer不允许同时运行两个安装。因此,这种方法将不起作用。你需要的是MSI链接。您可以使用元素正确!我忘了一次只运行一个MSI。EmbeddedChainer听起来很有趣,但Windows Installer>=4.5支持它。目前我正在使用2.0,因为我们的产品安装面对的是非常旧的Windows操作系统,但这可能是一个很好的功能,可以在将来考虑。谢谢正当我忘了一次只运行一个MSI。EmbeddedChainer听起来很有趣,但Windows Installer>=4.5支持它。目前我正在使用2.0,因为我们的产品安装面对的是非常旧的Windows操作系统,但这可能是一个很好的功能,可以在将来考虑。谢谢