我们已经有一段时间有点复杂的MSI安装程序(WiX),现在需要在MSI之后(以及可能在之前)调用某些可执行文件。这些可执行文件必须在msiexec之外运行。所以我刚开始得到维克斯引导程序会捆绑当前MSI,然后调用之后所需的EXE如下:WiX引导程序:跳过引导程序UI,先显示MSI对话框
<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,显示“完成”对话框?
感谢
感谢您的信息。当你说自定义托管引导程序时,你的意思是创建一个C++或C#应用程序并自己调用MSI和/或EXE? – Totem
另外,如果将/ quiet传递给引导程序,此开关将传播到MSI,并且MSI也不会显示UI。是否有关于如何将主要工作从WIX MSI切换到WIX引导程序的文档或信息? – Totem
看看http://www.wrightfully.com/part-1-of-writing-your-own-net-based-installer-with-wix-overview – dvorn