【问题标题】:Bundle invalid payload reason: 0x80070570捆绑无效负载原因:0x80070570
【发布时间】:2014-05-19 08:39:17
【问题描述】:

蜡 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。引导程序也使用 (cf this 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

【问题讨论】:

    标签: installation wix bundle sign bootstrapper


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回答!我用蜡烛然后光来创建微星。我计划在这个引导程序中添加一个用 C# .Net 3.5 编写的 .exe。我在命令行中编译了所有内容(包括上述内容)。什么是热?在这种情况下我应该如何使用它?
    • Heat 是一种用于将文件收集到 MSI 中的工具。它将创建 wxs 文件(这是文件列表)以包含在 Product.wxs 中,其中包含安装程序如何运行和安装内容的定义。在旁注中,您可以尝试运行 orca 和 msiexec 来查看/提取文件?如果您有时间,可能值得在 Heat 和/或设置项目上创建 msi。
    • 如果我有时间我会看看它。与此同时,我尝试用我刚才提到的 exe 替换要启动的 msi 文件。结果完全一样。
    【解决方案2】:

    我找到了解决办法!我只是跳过这样的签名验证:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-01
      • 2012-05-28
      相关资源
      最近更新 更多