首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Wix Burn无法下载exePackage

Wix Burn无法下载exePackage
EN

Stack Overflow用户
提问于 2013-07-22 18:11:28
回答 3查看 1.9K关注 0票数 4

我正在使用exePackage属性下载一个exe包--实际上是来自微软的VSTO运行时。

它无法获取包。

我相信这是将它添加到链中的正确方式

代码语言:javascript
复制
    <ExePackage Id="VSTORuntime" SourceFile="vstor_redist.exe" Permanent="yes" Vital="yes" Cache="no" Compressed="no"
            DownloadUrl="http://go.microsoft.com/fwlink/?LinkId=158917"
            PerMachine="yes"
            InstallCommand="/q /norestart"
            DetectCondition="VSTORFeature"
            InstallCondition="NOT VSTORFeature OR NOT (VSTORVersionV4R >=v10.0.40303) OR NOT (VSTORVersionV4 >=v10.0.21022)" />

这是日志文件部分。它这样做了大约三次。

代码语言:javascript
复制
[0D98:06A8][2013-07-22T11:47:31]w343: Prompt for source of package: VSTORuntime, payload: VSTORuntime, path: F:\vstor_redist.exe
[0D98:06A8][2013-07-22T11:47:31]i338: Acquiring package: VSTORuntime, payload: VSTORuntime, download from: http://go.microsoft.com/fwlink/?LinkId=158917
[16A0:0BE4][2013-07-22T11:47:37]e000: Error 0x80070490: Failed to find expected public key in certificate chain.
[16A0:0BE4][2013-07-22T11:47:37]e000: Error 0x80070490: Failed to verify expected payload against actual certificate chain.
[16A0:0BE4][2013-07-22T11:47:37]e000: Error 0x80070490: Failed to verify signature of payload: VSTORuntime
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-11 02:59:23

我认为您需要在RemotePayload标记中指定证书密钥,如下所示:

代码语言:javascript
复制
<ExePackage Id="VSTORuntime" SourceFile="vstor_redist.exe" Permanent="yes" Vital="yes" Cache="no" Compressed="no"
        DownloadUrl="http://go.microsoft.com/fwlink/?LinkId=158917"
        PerMachine="yes"
        InstallCommand="/q /norestart"
        DetectCondition="VSTORFeature"
        InstallCondition="NOT VSTORFeature OR NOT (VSTORVersionV4R >=v10.0.40303) OR NOT (VSTORVersionV4 >=v10.0.21022)">
<RemotePayload ProductName="Windows Installer 4.5"
               Description="Windows Installer 4.5 Setup"
               CertificatePublicKey="F321408E7C51F8544B98E517D76A8334052E26E8"
               CertificateThumbprint="D57FAC60F1A8D34877AEB350E83F46F6EFC9E5F1"
               Hash="86E1CC622DBF4979717B8F76AD73220CDB70400B"
               Size="3327000"
               Version="4.5.0.0" />
</ExePackage>

这只是一个想法..。或者尝试使用fiddler来找出它们是否是错误404或类似的东西...

票数 2
EN

Stack Overflow用户

发布于 2013-11-12 20:46:23

当使用一个版本的exe包编译引导程序包时,我遇到过这个问题,但是当您尝试运行它时,另一个版本与安装程序可执行文件一起存在。我怀疑Burn在编译捆绑包时会自动从源文件中提取证书信息。

例如,如果您的Setup.exe文件位于C:\Downloads中,并且C:\Downloads还包含一个与您构建Setup.exe时存在的版本不同的vstor_redist.exe版本,您将看到此错误。你可以通过从C:\Downloads中删除vstor_redist.exe来解决这个问题-- Setup.exe将会关闭并从你指定的地址下载正确的版本。

票数 2
EN

Stack Overflow用户

发布于 2022-01-13 15:15:26

Microsoft似乎已经更新了该URL后面的包,并更改了用于对其签名的证书。这与提供恶意文件的攻击者没有什么区别,所以您唯一能做的就是用更新后的证书从新文件构建一个新的包。在3.x的后续版本中,在不使用RemotePayload时必须指定SuppressSignatureVerification="no",并且希望使用签名验证而不是散列验证。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17784898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档