【问题标题】:Inno Setup - Signing fails with "Sign Tool failed with exit code 0x1"Inno Setup - 签名失败,“签名工具失败,退出代码 0x1”
【发布时间】:2017-02-02 18:27:15
【问题描述】:

我有 Inno Setup 脚本,我需要在其中使用 SignTool=signtool,该脚本已正确配置并在过去工作。

但是当我尝试编译时出现以下错误:

签名工具失败,退出代码为 0x1。

【问题讨论】:

  • 您是否尝试过直接通过命令行运行Sign 命令,看看是否也失败了?然后你会看到正确的错误信息。你能在没有签名的情况下编译你的安装程序吗?我曾经遇到过类似的问题,Windows 阻止访问安装程序的临时文件,因为它将 Compil32.exe 视为不受信任的进程。

标签: window windows-installer installation inno-setup installshield


【解决方案1】:

您没有向我们提供任何我们可以用来调试您的问题的信息。

所以我发布了使用“签名工具”调试问题的通用说明。

  1. 试试command-line compiler (ISCC.exe)。它将在输出中保留完整的signtool.exe 错误消息:

  2. 或者临时在签名工具命令前加上cmd.exe /k 以保留其输出,即使在 Inno Setup GUI Compiler 中编译时也是如此。例如:

     cmd.exe /k C:\path\to\signtool.exe sign /f C:\mykey.pfx $f
    

    请注意,如果您使用带有空格的signtool.exe 的路径,由于cmd 的工作方式,您不仅必须将路径本身用双引号括起来,还必须将整个命令括起来:

     cmd.exe /k ""C:\path to signtool\signtool.exe" sign /f C:\mykey.pfx $f"
    

另见signtool fail with Inno Setup with exit code 0x1

【讨论】:

    【解决方案2】:

    使用带有令牌的 EV 时,您可以使用 /a /sha1 [Hash] 分配指纹。

    像这样:

    signtool sign /tr http://timestamp.digicert.com /td sha256 /fd sha256 /sha1 certfingerprint $f
    

    这将使 signtool 从令牌中选择证书。

    更多信息: https://docs.microsoft.com/en-us/dotnet/framework/tools/signtool-exe

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多