我有一个在 WiX 3.6 中创建的 MSI,它显然安装了各种东西,并创建了一个指向我的 MSI 实际未安装的 exe 的快捷方式(我们确定 exe 位于特定文件夹中,因为它是由单独的MSI,这是我的 MSI 所需的先决条件)。我们创建的快捷方式传递了一些参数,这些参数实际上告诉 exe 使用我们刚刚安装的东西。这一切都很好,但我现在希望 MSI 使用我们在快捷方式中使用的相同参数自动运行 exe。
我尝试关注这篇文章 - http://wixtoolset.org/documentation/manual/v3/howtos/ui_and_localization/run_program_after_install.html但它假定您要运行刚刚安装的 exe 并且似乎不使用 exe 参数。
我还尝试使用自定义操作,例如 -
<CustomAction Id="RunMainApp"
Directory="FREDFOLDER"
ExeCommand="[FREDFOLDER]Fred.exe -SBDSingleApp -SBDSplash="MySplash.bmp""
Execute="commit"
Return="ignore"/>
<InstallExecuteSequence>
<Custom Action="RunMainApp" Before="InstallFinalize" />
</InstallExecuteSequence>
这更有希望——它运行了 exe,但在实际安装完成之前这样做了——这显然是不正确的。
老实说,如果有第一个示例中的 UI,我并不担心 - 因为 90% 的时间 MSI 将在没有显示向导的情况下以安静模式运行。