我已安裝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) –