使用WiX中的在线设置安装.NET框架

时间:2012-05-27 19:11:38

标签: .net frameworks wix bootstrapper

更新:事实证明这确实有效,但安装文件只是默认被复制到输出目录。如果在没有它们的情况下运行安装程序,它将根据需要下载文件。

我一直在阅读文档,并按照如何指导在WiX中安装.NET框架,但是由于包含框架安装文件(100mb到200mb之间),构建的输出非常大)。

由于我想避免为最终用户提供如此大的下载大小,是否可以让WiX使用在线安装程序(http://www.microsoft.com/en-us/download/details.aspx?id= 31)而不是让已经拥有框架的用户必须下载大型设置?

目前我的标记与文档中的标记非常相似,但是对于任何可能需要查看它的人来说,如下所示:

  <ItemGroup>
    <BootstrapperFile Include="Microsoft.Net.Framework.3.5">
      <ProductName>.NET Framework 3.5</ProductName>
    </BootstrapperFile>
    <BootstrapperFile Include="Microsoft.Windows.Installer.3.1">
      <ProductName>Windows Installer 3.1</ProductName>
    </BootstrapperFile>
  </ItemGroup>
  <Target Name="AfterBuild">
    <GenerateBootstrapper 
      ApplicationFile="$(TargetFileName)" 
      ApplicationName="Application Name" 
      BootstrapperItems="@(BootstrapperFile)" 
      ComponentsLocation="HomeSite" 
      CopyComponents="True" 
      OutputPath="$(OutputPath)" 
      Path="C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Bootstrapper\" />
  </Target>

3 个答案:

答案 0 :(得分:2)

事实证明这实际上是有效的,但安装文件只是默认被复制到输出目录。如果在没有它们的情况下运行设置,它将根据需要下载文件。

答案 1 :(得分:1)

有很多bootstrappers可用于绑定设置。您可以将.net框架的Web设置与您的s / w绑定,然后如果未安装pre-requiste,该工具将安装.net framework。

我也有同样的要求,我去了dotNetInstaller。这是一个免费的工具。

答案 2 :(得分:1)

正如Sunil所提到的,也许最简单的方法是使用引导程序。一旦你的WiX引导程序工作,你需要做的就是添加.Net 4.0作为先决条件..

a)将文件WixNetFxExtension.dll的引用添加到Bootstrapper /托管引导程序应用程序项目中

b)将以下内容添加为链中的第一项..

<PackageGroupRef Id="NetFx40Web"/>

就是这样!

如果需要,上面通过互联网下载.net 4。更多信息和选项:wixnetfxextension documentation