我是WiX的新手,已经构建了一个独立的安装程序。我想检测系统上是否有。net 4.5,并提示用户安装它。我的开发环境是Visual Studio 2010,使用WiX 3.7工具集。
从我看到的一些教程,我应该使用WiX 3.6刻录或使用WiX引导程序项目模板在Visual Studio 2010。
由于某些原因,当我安装Wix 3.7时,我没有引导程序模板(我不确定我是否缺少下载扩展)。
使用bootstrapper模板比Burn更好吗?有什么不同?
你需要创建一个名为"Bootstrapper project "的新项目(这个模板必须在你的Visual Studio 2010安装中,与Windows Installer XML相关)。这里有一些非常好的博客文章和手册:
- 介绍Managed Bootstrapper Applications by Heath Stewart
- WiX Burn - tips/tricks by Neil Sleightholm
Wix burn,是Wix Bootstrapper。它们是一样的。Burn只是Wix Bootstrapper的简单名称,但他们倾向于在"Wix Burn"one_answers"Wix Bootstrapper"之间切换。但正如我说过的,它们是一样的。
这是我的wix引导程序,它检查。net版本,然后下载并安装它,然后安装我的。msi。你需要添加一个引用到WixNetFxExtension.dll
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Bundle Name="MyProgramInstaller" Version="1.0.0.0" Manufacturer="myCompany" UpgradeCode="yourcodehere">
<!-- here's the license statement, would suggest you update this to something more useful. -->
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
<Chain>
<!-- here's the .net download installer you can change this using the following chart -->
<!-- http://wixtoolset.org/documentation/manual/v3/customactions/wixnetfxextension.html -->
<PackageGroupRef Id="NetFx451Web"/>
<MsiPackage Id="myProgram" SourceFile="$(var.SolutionDir)SetupProject1/bin/Release/myProgramInstaller.msi"/>
</Chain>
</Bundle>
</Wix>