InnoSetup编译时签名工具退出码为0x1失败

5

编译签名失败。

在我的innosetup打包中,我必须包含一些第三方软件,例如VLC、Google Chrome、Putty等等。

当这些第三方工具被包含时,编译/构建会失败。但是当我不使用它们时,编译就可以成功。(不幸的是,我无法通过外部URL使用这些应用程序,因此我必须将它们嵌入到我的编译中)

Source: "C:\Users\tpt\Desktop\innosetup\nw\run.bat"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\tpt\Desktop\innosetup\software\*"; DestDir: "{app}\software"; Flags: ignoreversion

图片描述在此处输入

编辑:我将软件文件夹压缩,但仍然出现相同的错误;我还将 .exe 文件压缩成 .rar 文件,但依然出现错误?

图片描述在此处输入


我尝试将软件文件夹命名为software.rar或zip,但仍然出现相同的错误。请问我该如何修复它? - user285594
所有工作都正常,但当我使用chrome64.rar(即Google Chrome独立版)时,编译和签名工具都失败了。 - user285594
1
尝试从命令行中删除时间戳,你可能遇到了这个问题:链接 - Sega-Zero
1
我也有这个怀疑,但这只是一个猜测。因为我们无法看到正在执行的命令行,所以它可能是任何东西。 - TLama
那么你的意思是这样做吗?之前的代码是:"C:\Program Files (x86)\Windows Kits\8.1\bin\x64\signtool.exe" sign /f C:\Users\tpt\Desktop\innosetup\OSxxxx.pfx /p Mypass /tr http://timestamp.globalsign.com/scripts/timestamp.dll $f,之后的代码是:"C:\Program Files (x86)\Windows Kits\8.1\bin\x64\signtool.exe" sign /f C:\Users\tpt\Desktop\innosetup\OSxxxx.pfx /p Mypass - user285594
1个回答

0

只需从rar文件中删除扩展名,将其改为"chrome64",使用批处理脚本在设置文件时进行重命名。

在innosetup中

[Run]
Filename: "{app}\rename.bat"

在 rename.bat 文件中:
@ECHO OFF
ren Chrome64 Chrome64.rar
del rename.bat

我刚刚从Chrome.exe中删除了扩展名,并在安装时使用批量重命名将其改回exe,重命名后,它可以正常运行。编译没有给我错误。


为什么有这么强大的 Pascal 脚本支持,人们还倾向于使用批处理文件,我从未理解过。 - TLama

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接