NetFx45WebLink和NetFx45RedistLink有什么区别

时间:2013-06-19 12:08:46

标签: .net wix wix3 bootstrapper wix-extension

我使用WiX 3.7编写一个首先安装.net 4.5然后安装我的应用程序的MSI的引导程序:

<Chain>
  <PackageGroupRef Id="NetFx45Redist"/>
  <MsiPackage Id="MainAppPackage"
              After="NetFx45Redist"
              SourceFile="..\bin\Debug\MyApp.msi"/>
</Chain>

WiX documentation表示NetFx45Redist是独立设置,而NetFx45Web是网络设置。在我将Id设置为NetFx45Redist的情况下构建引导程序后,与我在指定NetFx45Web Id时构建它的大小相同。我很好奇所以我下载了WiX源(v3.7)。我惊讶地发现两个PackageGroup元素之间没有什么区别。

DownloadUrl的{​​{1}}为http://go.microsoft.com/fwlink/?LinkId=225704,而NetFx45Web的{​​{1}}为http://go.microsoft.com/fwlink/?LinkId=225702。根据{{​​1}}属性NetFx45Redist是1005568字节,RemotePayload\@Size是50352408字节。

我预计NetFx45Web将在我的引导程序中包含.net 4.5设置,并且不需要下载。我觉得这是错的。我应该使用哪个NetFx45Redist以及2个下载的.net 4.5安装之间有什么区别?

1 个答案:

答案 0 :(得分:7)

两个软件包组都是为了从Microsoft下载文件而编写的。两者都提供Microsoft .NET 4.0框架的完整设置。较小的是引导程序,然后只下载系统缺失的部分。较大的一个包含任何系统可能需要的所有部分。

WixNetFxExtension不提供非下载软件包组有点令人惊讶。但是,既然您已经查看了NetFx4.5.wxs源代码,那么将所需的属性复制到您自己的包组中应该是一件简单的事情。

编辑:

我还应该指出,引导程序采用here所述的命令行参数。 -layout dvd会将软件包下载到名为dvd的文件夹,该文件夹可用于离线安装。 (显然,NetFx45Web不适合。)