我有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安装程序会尝试签署不存在的文件?
我很难过,我不知道如何解决这个问题......请帮忙!
谢谢。
答案 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
的绝对路径后,它就可以工作了。