NetFx45WebLink和NetFx45RedistLink之间有什么区别?

8

我使用 WiX 3.7 编写了一个引导程序,该引导程序先安装 .net 4.5 ,然后再安装我的应用程序的 MSI 文件:

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

WiX文档指出,NetFx45Redist是一个独立的安装程序,而NetFx45Web是一个网络安装程序。在我使用Id设置为NetFx45Redist构建启动器时,与我使用指定了NetFx45WebId时相比,它的大小相同。我很好奇,所以我下载了WiX源代码(v3.7)。令我惊讶的是,这两个PackageGroup元素之间的差异很小。

NetFx45WebDownloadUrlhttp://go.microsoft.com/fwlink/?LinkId=225704,而NetFx45RedistDownloadUrlhttp://go.microsoft.com/fwlink/?LinkId=225702。根据RemotePayload\@Size属性,NetFx45Web为1005568字节,NetFx45Redist为50352408字节。

我原本以为NetFx45Redist将包括我的启动程序中的.net 4.5设置,并且不需要下载。但我发现这是错误的。那么我应该使用哪个PackageGroup,并且这两个下载的.net 4.5安装之间有什么区别?

1个回答

8
两个软件包组都是由微软提供的下载文件。两者都提供了完整的Microsoft .NET 4.0框架安装程序。较小的那个是一个引导程序,然后只下载系统缺少的部分。较大的那个则包含任何系统可能需要的所有部分。
WixNetFxExtension没有提供非下载软件包组有点令人惊讶。但既然你已经查看了NetFx4.5.wxs源代码,将想要的属性复制到自己的软件包组中应该是一件简单的事情。
编辑:
我还应该指出,引导程序可以使用命令行参数,如这里所述。"-layout dvd"会将软件包下载到名为"dvd"的文件夹中,可用于离线安装。(显然,NetFx45Web不适合这种情况。)

2
我稍微尝试了一下,发现以下情况:1)当下载网络安装程序时,它占用的空间较小,但如果缺少整个.NET框架,则在修复期间需要重新下载。2)当下载独立安装程序时,它会占用大约50MB更多的空间(反映在“程序和功能”中应用程序的大小上),但在修复期间不需要下载。 - Ceco

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接