Inno Setup v6升级问题:SignTool=sha1配置失效如何解决?
Inno Setup 6 双签名(SHA1+SHA256)正确配置方式
你的问题出在Inno Setup 6对SignTool指令的逻辑做了调整——不再支持重复定义SignTool指令,也取消了SignTool=sha1/SignTool=sha256这种预设算法标识的写法,同时命令行的/ssha1、/ssha256参数也不再被支持。
下面是两种可行的正确配置方式:
方式一:脚本内直接配置双签名命令
修改[Setup]段,删除原来的两行SignTool配置,替换为能同时完成SHA1和SHA256签名的命令:
[Setup] SignTool=signtool.exe sign /f Certificate.pfx /p MyPassword /t http://timestamp.comodoca.com /v $f && signtool.exe sign /f Certificate.pfx /p MyPassword /fd sha256 /tr http://timestamp.comodoca.com/?td=sha256 /td sha256 /as /v $f
之后直接用命令行编译:
ISCC.exe MySetup.iss
方式二:通过命令行传递签名命令
保持脚本[Setup]段简洁,只指定自定义签名标识:
[Setup] SignTool=custom
然后在命令行中传递完整的双签名命令:
ISCC.exe "/scustom=signtool.exe sign /f Certificate.pfx /p MyPassword /t http://timestamp.comodoca.com /v $f && signtool.exe sign /f Certificate.pfx /p MyPassword /fd sha256 /tr http://timestamp.comodoca.com/?td=sha256 /td sha256 /as /v $f" MySetup.iss
说明
两种方式的核心都是通过&&拼接两次signtool调用:
- 第一次完成SHA1签名并添加时间戳
- 第二次用
/as参数追加SHA256签名,并使用SHA256算法的时间戳服务
内容的提问来源于stack exchange,提问作者Waits321
相关产品推荐
相关产品推荐

