Inno Setup SignTool选项问题

时间:2015-08-17 17:20:40

标签: jenkins javafx javafx-8 inno-setup

我的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的错误消息。

3 个答案:

答案 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)。您也可以复制/粘贴它。

注意:在输入或粘贴密码时,您不会看到键入的任何字符,因此请不要感到困惑。