指定Burn Bootstrapper先决条件

时间:2015-09-19 23:35:45

标签: .net wix bootstrapper burn

我对Wix Burn bootstrapper引擎缺乏文档感到遗憾。我希望我能回答几个具体的问题。

我知道Burn引擎需要.Net 4.0。它似乎有自己的迷你引导程序,如果它不存在,将安装.Net 4.0。

(1).Net 4.5应该是.Net 4.0的就地替代品。迷你引导程序是否识别出这一点,如果它看到4.5存在则不安装4.0?

(2)我的应用程序和我的自定义引导程序需要.Net 4.5。我可以告诉mini-bootstrapper安装4.5而不是4.0吗?

这直接引发了有关BootstrapperCore.config的问题。

(3)启动,supportedRuntime元素如何与此相关?

(4)在哪里可以找到允许值列表以及版本和sku属性的语法?

(5)如果我只想要4.5,我是否还应该包含4.0的supportedRuntime?

(6)主机,supportedFramework元素如何与此结合?

(7)如果我的自定义引导程序需要4.5,如果我包含4.0的supportedFramework,并且4.0存在但4.5不存在,它是否会失败?

(8)如果我需要4.5并且目标系统已经有4.5.1(或更高版本),Burn会识别这个并跳过安装4.5吗?

另外,可能不相关,v4 / Full和v4 / Client之间有什么区别?

1 个答案:

答案 0 :(得分:3)

0)这是错误的。 Burn唯一需要的是XP或更高版本,不需要.NET。

1)Burn不会自动安装.NET 4(参见0)。 “迷你引导程序”是ManagedBootstrapperApplicationHost(又名mbapreq)。

2)在WiX 3.9之前,mbapreq只会安装一个包 - 由WixVariable WixMbaPrereqPackageId指定的包。从WiX 3.9开始,您可以使用bal:PrereqSupportPackage属性来mbapreq安装多个软件包。

3)startupsupportedRuntime元素是.NET配置文件中的标准元素,并在MSDN上记录。

4)见MSDN documentation

5)否。

6)hostsupportedFramework元素由WiX定义。 supportedFramework元素用于表示您支持.NET的客户端安装,因为.NET 4.5及更高版本不需要指定任何supportedFramework元素。 host元素用于告诉mbapreq哪个Assembly具有您的BootstrapperApplication类。

7)是的。

8)mbapreq如果可以根据您的BootstrapperCore.config加载.NET框架,则不会显示“mini-bootstrapper”。如果配置文件未正确写入,它成功加载.NET框架但无法加载BA,那么它将无声地失败(尽管日志始终写入临时目录)。如果包DetectCondition为真,Burn不会尝试安装包。