【发布时间】:2026-01-24 18:45:02
【问题描述】:
我的 Inno 设置脚本中有以下行:
SignTool=MySign cmd /c C:\SigningTools\signtool.exe sign /f C:\MyCert.pfx /p MyPassword $f
这工作在我的本地机器上。
然后我将更改提交到我们的服务器,Jenkins 将自动编译并进行构建。 Jenkins 不起作用,我收到以下错误。
Error on line 43 in C:\Windows\TEMP\fxbundler8328922406343131203\images\win-exe.image\MyProgram.iss: Value of [Setup] section directive "SignTool" is invalid.
Compile aborted.
我不知道问题是什么,我尝试了很多东西,但似乎无法弄清楚。我会学习一些更好的选项来使用 Inno Setup 输出错误消息。
- 我已验证 MySign 存在于服务器的编译器 IDE (http://www.jrsoftware.org/ishelp/index.php?topic=setup_signtool)
- 我已经尝试了多种具有 $q 环绕文件路径的变体
- 我已验证文件路径与两台机器匹配
【问题讨论】:
-
哪个用户在你的 windows 机器上运行 jenkins 或脚本?也许用户没有在非交互模式下运行 cmd 的权限?您应该授予用户使用 gpedit 运行本地批处理脚本和服务的权限。
-
@NwDx 我能够在 inno 安装程序运行之前签署启动器,所以我也不认为这是问题所在,用户确实有权运行 signtool.exe。感谢您的建议。
-
这不是问题,问题是 Jenkins 在您的网络服务器上运行并且您尝试调用 cmd.exe。看看这里:*.com/a/11613662/4170073
标签: jenkins javafx javafx-8 inno-setup