.net - NetFx45WebLink 和 NetFx45RedistLink 有什么区别

标签 .net wix wix3 bootstrapper wix-extension

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

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

WiX documentationNetFx45Redist是一个独立的设置,而 NetFx45Web是一个网络设置。在我构建了 ID 设置为 NetFx45Redist 的 bootstrap 之后与我使用 NetFx45Web 构建时的大小相同指定了 ID。我很好奇所以我下载了 WiX 源代码 (v3.7)。我很惊讶地发现两者之间几乎没有区别PackageGroup元素。
DownloadUrlNetFx45Webhttp://go.microsoft.com/fwlink/?LinkId=225704 , 而对于 NetFx45Redisthttp://go.microsoft.com/fwlink/?LinkId=225702 .根据RemotePayload\@Size属性 NetFx45Web是 1005568 字节和 NetFx45Redist是 50352408 字节。

我预计 NetFx45Redist将在我的 bootstrap 中包含 .net 4.5 设置,不需要下载。我看到这是错误的。其中PackageGroup那么我应该使用 2 个下载的 .net 4.5 安装有什么区别?

最佳答案

两个包组都被授权从 Microsoft 下载文件。两者都提供了 Microsoft .NET 4.0 框架的完整设置。较小的一个是 bootstrap ,然后只下载系统缺少的部分。较大的具有任何系统可能需要的所有部分。

WixNetFxExtension 不提供非下载包组,这有点令人惊讶。但是,由于您已经查看了 NetFx4.5.wxs源代码,把你想要的属性复制到你自己的包组中应该是一件简单的事情。

编辑:

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

关于.net - NetFx45WebLink 和 NetFx45RedistLink 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17190787/

相关文章:

msbuild - "Elegant"CruiseControl.Net 和 WiX 集成

c# - 我的 ASMX 代理方法中的这些额外参数是什么?

c# - try/catch block 内的 Response.Redirect 异常

维克斯 : Adding an entry to the GAC in Major Upgrade

c++ - 从使用 Wix 制作的 MSI 生成文本

com - 如何在 WiX 3 中注册 Win32 COM DLL 文件?

php - .NET 和 PHP 加密之间的区别

引用类型的 C# 7 ref 返回

c# - 如何通过调用带字符串参数的 WiX 自定义操作的 Installshield 创建自定义操作?

wix - 重用 WIX 组件来加速烛光/光