Search code examples
c++qtinno-setupvirus

Inno setup virus


I created a setup for my application using Inno Setup. The probem is that when I try to execute the setup or send it via email, it's considered as a virus...

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{F6D8837D-F542-4326-A245-4B64AE8E8CD0}
AppName=S24
AppVersion=1.0
;AppVerName=S24 1.0
AppPublisher=Pierre Lagoutte
AppPublisherURL=https://s24.plagoutte.eu/
AppSupportURL=https://s24.plagoutte.eu/
AppUpdatesURL=https://s24.plagoutte.eu/
DefaultDirName={pf}\S24
DefaultGroupName=S24
AllowNoIcons=yes
LicenseFile=C:\Users\Pierre\Documents\Qt\build-S24-Desktop_Qt_5_7_0_MSVC2013_32bit-Release\release\licence.txt
OutputDir=C:\Users\Pierre\Documents\Qt\S24\setup\1.0
OutputBaseFilename=S24-Setup-22062018
Compression=lzma
SolidCompression=yes

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "brazilianportuguese"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl"
Name: "catalan"; MessagesFile: "compiler:Languages\Catalan.isl"
Name: "corsican"; MessagesFile: "compiler:Languages\Corsican.isl"
Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl"
Name: "danish"; MessagesFile: "compiler:Languages\Danish.isl"
Name: "dutch"; MessagesFile: "compiler:Languages\Dutch.isl"
Name: "finnish"; MessagesFile: "compiler:Languages\Finnish.isl"
Name: "french"; MessagesFile: "compiler:Languages\French.isl"
Name: "german"; MessagesFile: "compiler:Languages\German.isl"
Name: "greek"; MessagesFile: "compiler:Languages\Greek.isl"
Name: "hebrew"; MessagesFile: "compiler:Languages\Hebrew.isl"
Name: "hungarian"; MessagesFile: "compiler:Languages\Hungarian.isl"
Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl"
Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl"
Name: "norwegian"; MessagesFile: "compiler:Languages\Norwegian.isl"
Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl"
Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl"
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
Name: "scottishgaelic"; MessagesFile: "compiler:Languages\ScottishGaelic.isl"
Name: "serbiancyrillic"; MessagesFile: "compiler:Languages\SerbianCyrillic.isl"
Name: "serbianlatin"; MessagesFile: "compiler:Languages\SerbianLatin.isl"
Name: "slovenian"; MessagesFile: "compiler:Languages\Slovenian.isl"
Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"
Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl"
Name: "ukrainian"; MessagesFile: "compiler:Languages\Ukrainian.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1

[Files]
Source: "C:\Users\Pierre\Documents\Qt\build-S24-Desktop_Qt_5_7_0_MSVC2013_32bit-Release\release\S24.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Pierre\Documents\Qt\build-S24-Desktop_Qt_5_7_0_MSVC2013_32bit-Release\release\platforms\*"; DestDir: "{app}\platforms"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Users\Pierre\Documents\Qt\build-S24-Desktop_Qt_5_7_0_MSVC2013_32bit-Release\release\libgcc_s_dw2-1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Pierre\Documents\Qt\build-S24-Desktop_Qt_5_7_0_MSVC2013_32bit-Release\release\libstdc++-6.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Pierre\Documents\Qt\build-S24-Desktop_Qt_5_7_0_MSVC2013_32bit-Release\release\libwinpthread-1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Pierre\Documents\Qt\build-S24-Desktop_Qt_5_7_0_MSVC2013_32bit-Release\release\Qt5Core.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Pierre\Documents\Qt\build-S24-Desktop_Qt_5_7_0_MSVC2013_32bit-Release\release\Qt5Gui.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Pierre\Documents\Qt\build-S24-Desktop_Qt_5_7_0_MSVC2013_32bit-Release\release\Qt5Widgets.dll"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{group}\S24"; Filename: "{app}\S24.exe"
Name: "{group}\{cm:ProgramOnTheWeb,S24}"; Filename: "https://s24.plagoutte.eu/"
Name: "{group}\{cm:UninstallProgram,S24}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\S24"; Filename: "{app}\S24.exe"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\S24"; Filename: "{app}\S24.exe"; Tasks: quicklaunchicon

[Run]
Filename: "{app}\S24.exe"; Description: "{cm:LaunchProgram,S24}"; Flags: nowait postinstall skipifsilent

My application is very simple, and my antivirus doesn't report me it's a virus when I launch it. It's really the setup and uninstall wizard of Inno Setup.


Solution

    1. Running setup exe: it is unclear what you mean by "considered as a virus". I guess you are talking about the standard warning "this program may harm your computer". Well, it is shown for any program that requires administrative privileges to run (and all setup programs do). You have two options here: 1) find a setup program that can run in the user mode, or 2) buy a code-signing certificate. The second option will not remove the warning, but will make it pretty friendly.

    2. Sending the exe as an email attachment. Forget it. That stopped working like ten years ago. Almost every mail server in the world block executable attachments. Upload your exe somewhere and send the link, not the exe itself.

    3. Upload your exe to www.virustotal.com and check it. Antivirus programs do show false positives now and then. No big deal here, just contact the antivirus developer and explain the problem (and provide a link to the exe). They fix false positives quickly enough.