我们有一个相当复杂的 MSI 安装程序(WiX),现在需要在 MSI 之后(或者潜在情况下,在 MSI 之前)调用某些可执行文件。这些可执行文件必须在 msiexec 外部运行。因此,我刚刚开始编写 WiX 引导程序,将当前 MSI 打包,然后按如下方式调用所需的 EXE:
<Bundle Name=".......">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
<bal:WixStandardBootstrapperApplication
LicenseUrl=""
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" />
</BootstrapperApplicationRef>
<Chain>
<MsiPackage Id="MainMSI" SourceFile="installer.msi" DisplayInternalUI="yes" />
<ExePackage Id="EXE1"
InstallCommand="...."
SourceFile="Exe1.exe" />
由于我们所有的对话框(许可证、选项等)都在MSI中(大部分情况下我们希望保持这种方式),那么在MSI启动之前,如何让引导程序不显示任何UI呢?目前我有一个白色对话框和一些来自引导程序的按钮,但是有没有办法告诉引导程序在开始时不显示任何对话框或者直接跳转到MSI呢?
在MSI完成后,我想放置一些对话框以显示正在运行的EXE的进度和“完成”对话框。我猜这必须来自引导程序?怎么做呢?还是我需要创建一个简单的“完成”MSI来显示“完成”对话框?
谢谢