Bundle invalid payload reason:0x80070570

时间:2014-05-19 08:39:18

标签: installation wix bundle sign bootstrapper

Wix 3.6。我试图运行一个包:

<Bundle Name="Setup" Version="1.0.0.0" Manufacturer="Bentley" UpgradeCode="37d68094-0b98-4b16-bfbe-7f0d3015064a">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />

    <Chain>
  <MsiPackage SourceFile="path/to/MyMsiFileWhichIsFine.msi" Cache="yes" Compressed="no" InstallCondition="1"/>
    </Chain>

执行结果:

0x800b0109 A certification chain processed, but terminated in a root certificate which is not trusted by the trust provider.

日志文件说:

Detected partially cached package: MyMsiFileWhichIsFine.msi, invalid payload: MyMsiFileWhichIsFine.msi, reason: 0x80070570

我签了这个msi。引导程序也使用(参见此link)签名:

insignia -ib Setup.exe -o engine.exe
signtool engine.exe (extra parameters excluded for simplicity)
insignia -ab engine.exe Setup.exe -o Setup.exe
signtool Setup.exe

2 个答案:

答案 0 :(得分:1)

一种可能性是msi是在外部创建的,而不是使用作为WIX一部分的Heat.exe。当我尝试使用VB6文件时,我遇到了类似的问题,并且必须添加标志来忽略这些检查。但在您的情况下,Bootstrapper可能无法正确解释msi。 msi是如何创建的?你用过热火吗?如果可以,你可以发布热线吗?

答案 1 :(得分:1)

我找到了解决方案!我只是跳过签名验证:

<ExePackage SourceFile="MyPath\MyFileToLaunch.exe" Compressed="no" SuppressSignatureVerification="yes"/>