我对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之间有什么区别?
答案 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)startup
和supportedRuntime
元素是.NET配置文件中的标准元素,并在MSDN上记录。
5)否。
6)host
和supportedFramework
元素由WiX定义。 supportedFramework
元素用于表示您支持.NET的客户端安装,因为.NET 4.5及更高版本不需要指定任何supportedFramework
元素。 host
元素用于告诉mbapreq
哪个Assembly具有您的BootstrapperApplication类。
7)是的。
8)mbapreq
如果可以根据您的BootstrapperCore.config加载.NET框架,则不会显示“mini-bootstrapper”。如果配置文件未正确写入,它成功加载.NET框架但无法加载BA,那么它将无声地失败(尽管日志始终写入临时目录)。如果包DetectCondition
为真,Burn不会尝试安装包。