如何强制WiX引导程序下载MSI包?

Den*_*nis 5 wix wix3.6

我正在阅读WiX工具集手册的这一部分,并想知道如何强制WiX引导程序下载MSI软件包?例如,在安装我的应用程序之前,引导程序必须下载并安装:

  • .NET Framework客户端配置文件
  • SQL Server 2008 R2共享管理对象.

我想,我可以MsiPackage像这样描述相应的:

该参考架构MsiPackage元素告诉,那

"至少必须指定SourceFile或Name属性."

而且,当然,它不是谎言 - 没有SourceFileName捆绑项目编译错误.

添加RemotePayloadMsiPackage这样的:

  <MsiPackage Name="redist\SharedManagementObjects.msi"
              DisplayName="Microsoft SQL Server 2008 R2 Management Objects"
              DisplayInternalUI="yes"
              Vital="yes"
              DownloadUrl="http://go.microsoft.com/fwlink/?LinkID=188438&amp;clcid=0x409">
    <RemotePayload Size="10953728"
                   Version="10.50.1600.1"
                   ProductName="Microsoft SQL Server 2008 R2 Management Objects"
                   Description="Microsoft SQL Server 2008 R2 Management Objects"
                   Hash="6ce3a433309c63d98bcf0e2b9f1dfaed8cc18783"/>
  </MsiPackage>
Run Code Online (Sandbox Code Playgroud)

导致构建错误:

无法阅读包''.无法打开此安装包.验证程序包是否存在以及是否可以访问它,或与应用程序供应商联系以验证它是否为有效的Windows Installer程序包.

我错过了什么吗?

Den*_*nis 4

类似的问题在这里回答:

今天不支持此功能;RemotePayload 仅支持验证下载的文件是否符合预期所需的字段,但仅此而已。这适用于 .exe,因为 Burn 将它们视为黑匣子。Burn 从 MSI 包中收集更多数据。

因此,该错误要么是它是 MsiPackage 允许的子项,要么是它尚不支持 MSI 所需的所有数据。