适用于.NET 4.5的WiX引导程序

时间:2013-01-07 20:52:17

标签: visual-studio-2010 wix wix-extension

我是WiX的新手并且已经构建了一个独立的安装程序。我想检测系统上是否有.NET 4.5并提示用户安装它。我的开发环境是使用WiX 3.7工具集Visual Studio 2010

从我看到的一些教程中,我应该使用WiX 3.6 Burn或在Visual Studio 2010中使用WiX引导程序项目模板。

出于某种原因,当我安装Wix 3.7时,我没有引导程序模板(我不确定我是否缺少下载扩展程序)。

使用引导程序模板比使用Burn更好吗?有什么区别?

2 个答案:

答案 0 :(得分:2)

您需要创建一个名为“Bootstrapper Project”的新项目(此模板必须位于Visual Studio 2010安装中,与Windows Installer XML相关)。以下是包含手册的非常好的博文:

答案 1 :(得分:0)

Wix烧录,是Wix Bootstrapper。他们是一样的东西。 Burn仅是Wix Bootstrapper的名称,但是它们的确在“ wix burn”和“ 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>