Inno设置代码签名证书失败,无法找到指定的文件

时间:2018-04-19 22:11:59

标签: inno-setup code-signing

我有Inno Setup和CSC ...我尝试按照Inno Setup的文档来设置代码签名。我主要这样做是因为我想对uninst ***。exe文件进行代码签名。

编译后,我收到此错误:

Running Sign Tool command: signtool sign /f <absolute_path_that_exists>\<file_that_exists>.p12 /p <some_cool_password> /fd sha256 /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /v "<absolute_path_that_exists>\uninst.e32.tmp"

Sign Tool command failed (Failed to execute Sign Tool.
Error 2: The system cannot find the file specified). Will retry (2 tries left).

My Inno Setup .iss文件中包含以下内容:

SignTool=standardcsc
SignedUninstaller=yes

其中standardcsc是:

signtool sign /f <absolute_path_that_exists>\<file_that_exists>.p12 /p <some_cool_password> /fd sha256 /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /v $f

唯一不存在的文件是<absolute_path_that_exists>\uninst.e32.tmp"

我不确定我是否正确行事......为什么Inno安装程序会尝试签署不存在的文件?

我很难过,我不知道如何解决这个问题......请帮忙!

谢谢。

2 个答案:

答案 0 :(得分:0)

Failed to execute Sign Tool

这告诉您,它没有找到您的signtool,并且您将使用它的绝对路径或使其在PATH环境变量中可用。

这个问题与你的证书无关。

答案 1 :(得分:0)

问题与您的SignTool命令有关,可能找不到signtool命令。 要解决此问题,请确保signtool.exe在Windows“ SYSTEM” PATH中,否则可以在命令中指定signtool.exe的路径。如果找不到,应该是C:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe之类的东西。

如果仍然无法运行,可以尝试在InnoSetup中的SignTool命令设置之前临时添加cmd.exe /k,以查看更多详细的调试日志。在我的情况下,即使我以为我在用户PATH中添加了signtool.exe,由于InnoSetup在不同的Shell中运行,因此找不到命令signtool.exe。在将其替换为signtool.exe的绝对路径后,它就可以工作了。