我正在阅读this section of WiX toolset manual,并想知道如何强制WiX引导程序下载MSI包?例如,在安装我的应用程序之前,必须先下载并安装引导程序:
我想过,我可以像这样描述相应的MsiPackage
:
但MsiPackage
元素的the schema reference告诉您
“至少必须指定SourceFile或Name属性。”
当然,它不是谎言 - 如果没有SourceFile
或Name
捆绑项目编译错误。
将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&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 安装程序包。
我错过了什么吗?
答案 0 :(得分:4)
回答类似问题here:
今天不支持; RemotePayload仅支持字段 需要验证下载的文件是预期的,但仅此而已 比起那个来说。这适用于.exes,因为Burn将那些像黑色一样对待 框。 Burn从MSI包中收集了更多的数据。
因此,错误是它是MsiPackage允许的孩子或者那个 它还不支持MSI所需的所有数据。