我的Inno安装脚本中有以下行:
def main
puts "Select [1] [2] [3] or [q] to quit"; users_choice = gets.chomp
choices(users_choice)
end
def choices (choice)
while choice != 'q'
case choice
when '1'
puts "you chose one!"
break
when '2'
puts "you chose two!"
break
when '3'
puts "you chose three!"
break
end
end
end
main
我的本地计算机工作。
然后我将更改提交到我们的服务器,Jenkins将自动编译并进行构建。 Jenkins 不起作用,我收到以下错误。
SignTool=MySign cmd /c C:\SigningTools\signtool.exe sign /f C:\MyCert.pfx /p MyPassword $f
我不知道问题是什么,我尝试了很多东西,但似乎无法弄明白。我会安心学习一些更好的选项来输出Inno Setup的错误消息。
答案 0 :(得分:0)
您需要通过/s
开关在编译器调用中定义SignTool。
示例:"/sMySign$q=sign_application.bat$q $f"
sign_application.bat
收到要作为第一个参数签名的文件路径,并按照您已尝试的方式调用signtool.exe
。
看看这里:http://www.jrsoftware.org/ishelp/index.php?topic=setupcmdline
答案 1 :(得分:0)
不要忘记在Inno Setup Compiler中配置Sign Tools。我只是添加了signtool $ p string。
答案 2 :(得分:0)
就我而言,证书已过期。
我发现以下文章很有用: https://www.nextofwindows.com/how-to-check-a-pfx-certifications-expiry-date-on-windows
我在我的pfx文件所在的目录中打开了一个命令提示符,并使用此命令来获取有关证书的详细信息:
certutil -dump "nameofcertfile.pfx"
将nameofcertfile.pfx
更改为您的文件名。可能会提示您输入密码。输入您在脚本中使用的密码(OP脚本中的MyPassword)。您也可以复制/粘贴它。
注意:在输入或粘贴密码时,您不会看到键入的任何字符,因此请不要感到困惑。