我已安装Inno Script Studio并安装了Visual Studio 2013.我有一个数字证书,使用密码保护,名为certificate.p12
。我也安装了Windows 8.1驱动程序SDK(虽然我运行的是Windows 7 Professional x64)。我在安装程序中包含的编译输出已经签名。无法使用Inno Setup登录(un)安装程序
我配置的Inno脚本工作室命名为my_signtool
标志的工具,用这个命令:
"C:\Program Files (x86)\Windows Kits\8.1\bin\x64\signtool.exe" sign /f "z:\full\path\to\certificate.p12" /p "password" $f
...在我.iss
文件,我有:
SignTool=my_signtool
有了这个设置上我的电脑,它完美的作品。我编译该项目,Inno Setup会自动签署安装程序及其卸载程序。
但是,我有一个同事应该是什么应该是完全相同的设置。他有Visual Studio 2013,Inno Setup和Inno Script Studio,证书的副本和密码。当他试图编译它时,Inno安装失败,说试图运行signtool反对uninst.e32.tmp
返回0x1
。当他运行确切的命令时,它会尝试在命令提示符下手动运行,但它失败,说明uninst.e32.tmp
不可用,但这似乎很正常,因为我怀疑Inno安装程序是在错误之后自行清理(或者是它?) 。
我试过用标记工具的定义中的$q
替换引号无济于事。事实上,除了通往signtool.exe
本身的道路之外,无论如何,所涉及的路径中都没有任何空间。
我们的输出结果最初看起来像这样。紧接着这是他们分歧的地方:我继续跑,他抱怨标志工具失败,0x1
。
Starting compile. [Monday, January 12 2015 at 10:11:03 AM]
Compiling script with Inno Setup 5.5.5 (a) [ISDLLCompileScriptA]
[PreCompile] Processing.
[PreCompile] Processing is still being tested.
[PreCompile] Processing finished.
[ISPP] Preprocessing.
[ISPP] Preprocessed.
Parsing [Setup] section, line 14
...
Parsing [Setup] section, line 41
Reading file (WizardImageFile)
File: C:\Program Files (x86)\Inno Setup 5\WIZMODERNIMAGE.BMP
Reading file (WizardSmallImageFile)
File: C:\Program Files (x86)\Inno Setup 5\WIZMODERNSMALLIMAGE.BMP
Preparing Setup program executable
Updating icons (SETUP.E32)
Running Sign Tool command: "C:\Program Files (x86)\Windows Kits\8.1\bin\x64\signtool.exe" sign /f "z:\full\path\to\certificate.p12" /p "password" "Z:\full\path\to\uninst.e32.tmp"
任何猜我俯瞰什么简单的细节在我的环境中正常工作,每次,但他的失败,即使它的配置方法相同?
他一定在签收工具命令一个错字为改变这种匹配矿山(除路径改变)现在工作。但是,请保留这个问题以防止某人用Inno Setup进行签名。 – user3466413
这是旧的,但我最近遇到了类似的问题。在我的情况下,编译输出文件夹(创建安装文件的位置)位于我的保管箱文件夹中。我遇到错误说“无法找到unist.e32.tmp”和“文件正在被另一个进程使用”。 “文件正在被另一个进程使用”很容易通过dropbox同步文件来解释。但unist.e32.tmp是我最终通过将Compile Output文件夹更改为其他文件夹(我的文档中的文档)而最终消失的最多的持久性错误消息。我无法解释为什么这会起作用,但它确实! –
[Inno Setup - Signing失败,可能是“Sign Tool失败,退出代码为0x1”](http://stackoverflow.com/questions/39685417/inno-setup-signing-fails-with-sign-tool-failed-与出射-代码为0x1) –