Microsoft SmartScreen - suspended using Inno Setup installer?

Nowadays, you have to use EV code signing certificates.
See Transferring Microsoft SmartScreen reputation to renewed certificate.

Below is the original answer, which addresses some specifics of the question.


If you believe the problem is due to an unsigned uninstaller, make sure you set the SignTool directive of your Inno Setup project accordingly. And make sure SignedUninstaller directive has its default value yes.

Quoting SignTool directive documentation:

Specifies the name and parameters of the Sign Tool to be used to digitally sign Setup (and Uninstall if SignedUninstaller is set to yes). When Setup has a valid digital signature, users will not see an "unidentified program" warning when launching it.


If you want to set NXCOMPAT and DYNAMICBASE flags to the uninstaller, you can create a sign.bat batch file that both calls signtool.exe and editbin.exe:

@echo off
editbin.exe /NXCOMPAT /DYNAMICBASE %1
signtool.exe sign ... %1

The calls need to be in this order, otherwise the editbin.exe breaks the signature.

Then use the sign.bat instead of signtool.exe in the SignTool directive.

Though I do not really think this is necessary, nor helps anything.


I think this is normal behavior. When your software collect enough "likes" = downloads or installs the SmrtScreen will automatically turn off this message.

It is really annoying feature because with every software release you need to wait appropriate time while the software become "popular" and it is recognized as safe (no certificates or antivirus methods can solve it).