Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

signtool fail with Inno Setup with exit code 0x1

Suddenly my Inno Setup compiler stopped working. Since the last time I used it, I just installed a new certificate issued still to the same company.

I've configured the sign tool in this way (NAME is the beginning of the string for the Subject in the certificate):

mysigntool="C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin\signtool.exe" sign /v /a /s my /n NAME /t http://timestamp.verisign.com/scripts/timestamp.dll

And then in the Inno Setup .iss file I have:

SignTool=mysigntool
SignedUninstaller=yes

The sign always fails with exit code 0x1, also if I remove the /t and timestamp. Please note that if I run the same command from the command prompt the signing works perfectly.

like image 212
Mauro Ganswer Avatar asked Jun 16 '15 08:06

Mauro Ganswer


2 Answers

You need to add $f to the end of your SignTool (in the IDE settings, not the script) in order to actually pass the name of the file to be signed. This is why you're getting the "missing filename" error.

See the examples in the Inno help file.

like image 100
Miral Avatar answered Oct 18 '22 10:10

Miral


First thing to try is, obviously, to run the signtool.exe standalone, to see, what errors it outputs.

(I'm aware that you have tried that already).


If you cannot reproduce the problem this way, run the Inno Setup compiler from command-line. You will see signtool's output along with other compilers output.

If the signtool fails, when compiling from Inno Setup GUI, its console just briefly flashes, so you have no chance to see its output.


Alternatively, you can wrap the signtool.exe to a batch file and call the batch from the Inno Setup instead of the signtool. At the end of the batch file, call pause, if the signing fails. This way you can see the error even in Inno Setup GUI.

The batch file may look like:

@echo off

c:\path\signtool.exe %*

set SIGN_RESULT=%ERRORLEVEL%

if %SIGN_RESULT% equ 0 (
  echo Signing succeeded
  exit /B 0
)

echo Signing failed with %SIGN_RESULT%
pause

exit /B %SIGN_RESULT%

See also Inno Setup - Signing fails with "Sign Tool failed with exit code 0x1".

like image 27
Martin Prikryl Avatar answered Oct 18 '22 09:10

Martin Prikryl