2015-01-14 131 views
2

我已安装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" 

任何猜我俯瞰什么简单的细节在我的环境中正常工作,每次,但他的失败,即使它的配置方法相同?

+0

他一定在签收工具命令一个错字为改变这种匹配矿山(除路径改变)现在工作。但是,请保留这个问题以防止某人用Inno Setup进行签名。 – user3466413

+0

这是旧的,但我最近遇到了类似的问题。在我的情况下,编译输出文件夹(创建安装文件的位置)位于我的保管箱文件夹中。我遇到错误说“无法找到unist.e32.tmp”和“文件正在被另一个进程使用”。 “文件正在被另一个进程使用”很容易通过dropbox同步文件来解释。但unist.e32.tmp是我最终通过将Compile Output文件夹更改为其他文件夹(我的文档中的文档)而最终消失的最多的持久性错误消息。我无法解释为什么这会起作用,但它确实! –

+0

[Inno Setup - Signing失败,可能是“Sign Tool失败,退出代码为0x1”](http://stackoverflow.com/questions/39685417/inno-setup-signing-fails-with-sign-tool-failed-与出射-代码为0x1) –

回答

0

我有这个相同的问题,只需要以管理员身份运行Inno Script Studio,然后我没有问题。

0

我也有这个问题,但作为管理员没有解决问题。最后,我无法解释,但我改变了我的时间戳,然后一切正常 - 尽管还有其他的东西让我失望。

我正在用signtool使用InnoSetup 5.5.9。我添加了一个SignTool我定义为:

“C:\ PATH_TO_KSIGN \ kSign \ signtool.exe” 符号/ F “MYCERT.pfx”/吨 “http://tsa.starfieldtech.com”/ P “MYPASSWORD” $ F

的示例页面中的标准时间戳字段为“http://timestamp.comodoca.com/authenticode”。如果我使用它,则该过程将失败,并显示原始问题中的错误。

另一件扔给我的是,如果我通过InnoSetup运行最终的安装版本,它会告诉我“发布者:未知”。但是,如果我使用相同的安装程序并在不同的机器上运行它,那么它会使发布服务器正确。

我希望这可以帮助别人!

-jonathan

相关问题