1

我已经使用带有 EmbeddedUI 元素的自定义 WPF UI 制作了带有 WiX 的 MSI 安装程序。它类似于 src/DTF/Samples/EmbeddedUI 中的示例。

我现在想要一个引导程序来检查是否安装了 .NET 4,如果没有安装它,然后启动我的 MSI。

看起来 Burn 会覆盖我的 WPF EmbeddedUI,以便将 .NET 4 和 MSI 安装链接到带有单个进度条的单个安装中。我知道我可以有一个托管应用程序来更改 Burn 的 UI,然后将参数传递给我的 MSI,但问题是我希望我的 UI 位于依赖 .NET 的 WPF 中,并且如果整个引导程序依赖于 .NET那么如果他没有首先安装引导程序,用户甚至无法打开它。

我想要的是引导程序,如果需要,可以使用像 Wixstdba 这样的简单 UI 来安装 .NET,然后使用它自己的 WPF EmbeddedUI 启动我的 MSI,而无需将其与 .NET 安装链接。我不介意两种安装都有自己的进度条,我只想能够使用我的 WPF EmbeddedUI 来安装主应用程序。

那有可能吗。如何?谢谢!

4

1 回答 1

1

如果您希望 WiX 引导程序显示安装程序的 UI,请将MsiPackage的DisplayInternalUI属性设置为 true。不过,该解决方案确实有在安装过程中显示两个 UI 的缺点。

您还可以使用 WPF 和 .NET创建托管引导程序应用程序。Burn 提供了一种在显示自定义 UI 之前基本上引导自身并安装 .NET 的方法。

于 2012-07-05T12:15:17.847 回答