InnoSetup – Code Signing Certificate

What you do is quite simple, try and follow allong

  1. Open Inno Setup and select Tools-> Configure Sign ToolsThe sign tool dialog
  2. Click “Add..” and give it a name, let’s call it MsSign as I am using signtool.exe from Microsoft, you should now have something like this enter image description here
  3. You are then asked for the command line of the tool that you use for signing, as I am using signtool.exe I will use

signtool.exe sign /tr http://timestamp.digicert.com /td sha256 /fd
sha256 /a $p

Note the $p at the end, Inno Setup needs this…
You should now have this, and note that I have added the path to signtool.exe in my path variables and that I am using DigiCert’s time server to time-stamp my signature. enter image description here

  1. In the script, you now add the following code to the setup segment

    SignTool=MsSign $f

this line, tells the compiler to use code signing, it will use the variable I’ve called MsSign, and will sign the output generated by the setup.

it should look like this
enter image description here

When you look at the generated EXE you will see the digital signature
enter image description here

Now this works for me because I have prepared my signature store in such a way that the command line can get the signature and I have only one code sign signature so I will not need to name it, your parameters may be different than mine are, and that’s okay as long as in the end, your setup works and your code gets signed.

Hope to have helped and remember you need that $p in the variable

Leave a Comment