2015-01-14 128 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

相關問題