繁体   English   中英

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

[英]How to force a WiX bootstrapper to download an MSI package?

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

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

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

MsiPackage元素的模式引用告诉我

“至少必须指定SourceFile或Name属性。”

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

RemotePayload添加到MsiPackage如下所示:

  <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>

导致构建错误:

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

我错过了什么吗?

类似问题在这里回答:

今天不支持; RemotePayload仅支持验证下载文件所需的字段是预期的,但仅限于此。 这适用于.exes,因为Burn将那些像黑盒子一样对待。 Burn从MSI包收集了更多数据。

因此,错误是它是MsiPackage的允许子项,或者它还不支持MSI所需的所有数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM