7

我使用 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 设置的引导程序之后,与我使用指定的 IdNetFx45Redist构建它时相比,它具有相同的大小NetFx45Web。我很好奇,所以我下载了 WiX 源代码(v3.7)。PackageGroup我惊讶地发现这两个元素之间几乎没有区别。

DownloadUrlforNetFx45Webhttp://go.microsoft.com/fwlink/?LinkId=225704,而forNetFx45Redisthttp://go.microsoft.com/fwlink/?LinkId=225702。根据RemotePayload\@Size属性NetFx45Web是1005568字节和NetFx45Redist50352408字节。

我希望这NetFx45Redist将在我的引导程序中包含 .net 4.5 设置,并且不需要下载。我知道那是错误的。那PackageGroup我应该使用哪个,两个下载的 .net 4.5 安装有什么区别?

4

1 回答 1

7

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

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

编辑:

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

于 2013-06-19T14:22:30.683 回答