我有准备安装的 MSI 文件。它包含一个定制的 UI,它还从用户那里收集数据。作为安装的一部分,如果缺少,我想安装以下内容
- .Net 框架 4.0
- Microsoft Visual C++ 2010 可再发行包 (x64)
据我所知,引导程序也应该包含 UI。如何使用引导程序仅启动先决条件阶段,然后继续安装 MSI UI?
我有准备安装的 MSI 文件。它包含一个定制的 UI,它还从用户那里收集数据。作为安装的一部分,如果缺少,我想安装以下内容
据我所知,引导程序也应该包含 UI。如何使用引导程序仅启动先决条件阶段,然后继续安装 MSI UI?
如果您使用 Visual Studio 安装和部署项目引导程序(GenerateBootstrapper
相关内容),那么它会在安装先决条件后显示您的 MSI UI。这是一个非常简单的引导程序。
我相信您正在考虑的自定义引导程序 UI 是 WiX v3.6+ 中的新刻录功能。Burn 功能更强大,可以为多个链接的包(.exe 或 .msi 或 .msp 或 .msu)创建单一、无缝的用户体验。使用 Burn,您可以创建一个非常自定义的 UI,它不会显示您的链接包中的任何 UI。或者,您可以让 Burn 显示 MSI UI。基本上,Burn 是高度可配置的,但确实需要一些额外的工作(因为 WiX 工具集还没有提供所有开箱即用的东西)。
要在基于 Burn 的环境中运行时显示 MSI UI,Bundle
您需要添加要显示DisplayInternalUI='yes'
的MsiPackage
元素。例如:
<Chain>
...
<MsiPackage ... DisplayInternalUI='yes' />
</Chain>
如果您使用的是 wixstdba(这很常见),它将显示它的 UI,直到需要安装 .msi 包。然后 .msi 包 UI 将在顶部弹出并返回到 wixstdba UI 以完成Bundle
安装。如果您想更改基于 Bundle 的 UI 的显示方式,您可以提供自己的引导程序应用程序。