WiX:使用Burn安装.NET,然后使用自己的WPF Embedded UI启动MSI

时间:2012-07-04 20:37:18

标签: wix windows-installer bootstrapper burn

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

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

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

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

这是可能的吗?怎么样?谢谢!

1 个答案:

答案 0 :(得分:1)

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

您还可以使用WPF和.NET创建managed bootstrapper application。 Burn提供了一种在显示自定义UI之前基本上自举并安装.NET的方法。