; -- Setup.iss -- ; Inno Setup's own Setup script ; Inno Setup ; Copyright (C) 1997-2025 Jordan Russell. All rights reserved. ; Portions Copyright (C) 2000-2025 Martijn Laan. All rights reserved. ; For conditions of distribution and use, see LICENSE.TXT. #include "isdonateandmail.iss" #include "isportable.iss" [Setup] AppName=Inno Setup AppId=Inno Setup 6 AppVersion=6.7.0 AppPublisher=jrsoftware.org AppPublisherURL=https://www.innosetup.com/ AppSupportURL=https://www.innosetup.com/ AppUpdatesURL=https://www.innosetup.com/ VersionInfoCopyright=Copyright (C) 1997-2026 Jordan Russell. Portions Copyright (C) 2000-2026 Martijn Laan. AppMutex=InnoSetupCompilerAppMutex,Global\InnoSetupCompilerAppMutex SetupMutex=InnoSetupCompilerSetupMutex,Global\InnoSetupCompilerSetupMutex WizardStyle=modern dynamic DefaultDirName={code:GetDefaultDirName|Inno Setup 6} DefaultGroupName=Inno Setup 6 PrivilegesRequiredOverridesAllowed=dialog AllowNoIcons=yes Compression=lzma2/max SolidCompression=yes UninstallDisplayIcon={app}\Compil32.exe UsePreviousLanguage=no LicenseFile=license.txt TimeStampsInUTC=yes TouchDate=none TouchTime=00:00 #ifdef SIGNTOOL SignTool=issigntool256 SignedUninstaller=yes #endif #sub ProcessFoundLanguagesFile #define FileName FindGetFileName(FindHandle) #define Name LowerCase(RemoveFileExt(FileName)) #define MessagesFile FindPathName + FileName //#define CustomMessagesFile FindPathName + 'Setup\' + Name + '.isl'; //#if FileExists(CustomMessagesFile) // #pragma message "Generating [Languages] entry with name " + Name + ": " + MessagesFile + ' & ' + CustomMessagesFile // Name: {#Name}; MessagesFile: "{#MessagesFile},{#CustomMessagesFile}" //#else #pragma message "Generating [Languages] entry with name " + Name + ": " + MessagesFile Name: {#Name}; MessagesFile: "{#MessagesFile}" //#endif #endsub // #define FindPathName #define FindHandle #define FindResult // #sub DoFindFiles #for {FindHandle = FindResult = FindFirst(FindPathName + "*.isl", 0); FindResult; FindResult = FindNext(FindHandle)} ProcessFoundLanguagesFile #if FindHandle #expr FindClose(FindHandle) #endif #endsub // #define FindFiles(str PathName) \ FindPathName = PathName, \ DoFindFiles // [Languages] Name: english; MessagesFile: "files\Default.isl" // Generate [Languages] entries for all official translations #expr FindFiles("files\Languages\") [Messages] HelpTextNote=/PORTABLE=1%nEnable portable mode. ; Two "Setup" on the same line looks weird, so put a line break in between english.WelcomeLabel1=Welcome to the Inno Setup%nSetup Wizard [Tasks] Name: desktopicon; Description: "{cm:CreateDesktopIcon}"; Flags: unchecked; Check: not PortableCheck Name: fileassoc; Description: "{cm:AssocFileExtension,Inno Setup,.iss}"; Check: not PortableCheck [InstallDelete] ; Remove old ISPP files Type: files; Name: "{app}\ISCmplr.dls" Type: files; Name: "{app}\Builtins.iss" Type: files; Name: "{app}\ISPP.chm" ; Remove desktop icon if needed Type: files; Name: {autodesktop}\Inno Setup Compiler.lnk; Tasks: not desktopicon; Check: not PortableCheck ; Remove old FAQ file Type: files; Name: "{app}\isfaq.htm" ; Remove old .islu files Type: files; Name: "{app}\Languages\*.islu" ; Remove translations in case any got demoted Type: files; Name: "{app}\Languages\*.isl" ; Remove old ispack files Type: files; Name: "{app}\Ispack-setup.exe" Type: files; Name: "{app}\Examples\Setup.iss" Type: files; Name: "{app}\Examples\Setup.ico" Type: files; Name: "{app}\Examples\IsDonateAndMail.iss" Type: files; Name: "{app}\Examples\IsDonate.bmp" Type: files; Name: "{app}\Examples\IsMail.bmp" Type: files; Name: "{app}\Examples\IsPortable.iss" ; Removed old/renamed wizard images Type: files; Name: "{app}\WizModernImage.bmp" Type: files; Name: "{app}\WizModernImage-IS.bmp" Type: files; Name: "{app}\WizModernSmallImage.bmp" Type: files; Name: "{app}\WizModernSmallImage-IS.bmp" ; Remove old ISCrypt.dll Type: files; Name: "{app}\ISCrypt.dll" #include "setup.allowedpublickeys.iss" #ifdef SIGNTOOL #define signcheck "signcheck" #else #define signcheck #endif [Files] Source: "license.txt"; DestDir: "{app}"; Flags: ignoreversion touch Source: "files\ISetup.chm"; DestDir: "{app}"; Flags: ignoreversion touch Source: "files\ISetup-dark.chm"; DestDir: "{app}"; Flags: ignoreversion touch Source: "files\Compil32.exe"; DestDir: "{app}"; Flags: ignoreversion signonce touch Source: "files\isscint.dll"; DestDir: "{app}"; Flags: ignoreversion issigverify signcheck touch Source: "files\isscint.dll.issig"; DestDir: "{app}"; Flags: ignoreversion touch Source: "files\ISCC.exe"; DestDir: "{app}"; Flags: ignoreversion {#signcheck} touch Source: "files\ISCmplr.dll"; DestDir: "{app}"; Flags: ignoreversion issigverify {#signcheck} touch Source: "files\ISCmplr.dll.issig"; DestDir: "{app}"; Flags: ignoreversion touch Source: "files\Setup.e32"; DestDir: "{app}"; Flags: ignoreversion issigverify touch Source: "files\Setup.e32.issig"; DestDir: "{app}"; Flags: ignoreversion touch Source: "files\SetupCustomStyle.e32"; DestDir: "{app}"; Flags: ignoreversion issigverify touch Source: "files\SetupCustomStyle.e32.issig"; DestDir: "{app}"; Flags: ignoreversion touch Source: "files\SetupLdr.e32"; DestDir: "{app}"; Flags: ignoreversion issigverify touch Source: "files\SetupLdr.e32.issig"; DestDir: "{app}"; Flags: ignoreversion touch Source: "files\SetupLdr.e64"; DestDir: "{app}"; Flags: ignoreversion issigverify touch Source: "files\SetupLdr.e64.issig"; DestDir: "{app}"; Flags: ignoreversion touch Source: "files\Default.isl"; DestDir: "{app}"; Flags: ignoreversion touch Source: "files\Languages\*.isl"; DestDir: "{app}\Languages"; Flags: ignoreversion touch Source: "files\SetupClassicIcon.ico"; DestDir: "{app}"; Flags: ignoreversion touch Source: "files\WizClassicImage.bmp"; DestDir: "{app}"; Flags: ignoreversion touch Source: "files\WizClassicImage-IS.bmp"; DestDir: "{app}"; Flags: ignoreversion touch Source: "files\WizClassicSmallImage.bmp"; DestDir: "{app}"; Flags: ignoreversion touch Source: "files\WizClassicSmallImage-IS.bmp"; DestDir: "{app}"; Flags: ignoreversion touch Source: "files\is7z.dll"; DestDir: "{app}"; Flags: ignoreversion issigverify signcheck touch Source: "files\is7z.dll.issig"; DestDir: "{app}"; Flags: ignoreversion touch Source: "files\is7zxa.dll"; DestDir: "{app}"; Flags: ignoreversion issigverify signcheck touch Source: "files\is7zxa.dll.issig"; DestDir: "{app}"; Flags: ignoreversion touch Source: "files\is7zxr.dll"; DestDir: "{app}"; Flags: ignoreversion issigverify signcheck touch Source: "files\is7zxr.dll.issig"; DestDir: "{app}"; Flags: ignoreversion touch Source: "files\iszlib.dll"; DestDir: "{app}"; Flags: ignoreversion issigverify signcheck touch Source: "files\iszlib.dll.issig"; DestDir: "{app}"; Flags: ignoreversion touch Source: "files\isunzlib.dll"; DestDir: "{app}"; Flags: ignoreversion issigverify signcheck touch Source: "files\isunzlib.dll.issig"; DestDir: "{app}"; Flags: ignoreversion touch Source: "files\isbzip.dll"; DestDir: "{app}"; Flags: ignoreversion issigverify signcheck touch Source: "files\isbzip.dll.issig"; DestDir: "{app}"; Flags: ignoreversion touch Source: "files\isbunzip.dll"; DestDir: "{app}"; Flags: ignoreversion issigverify signcheck touch Source: "files\isbunzip.dll.issig"; DestDir: "{app}"; Flags: ignoreversion touch Source: "files\islzma.dll"; DestDir: "{app}"; Flags: ignoreversion issigverify signcheck touch Source: "files\islzma.dll.issig"; DestDir: "{app}"; Flags: ignoreversion touch Source: "files\islzma32.exe"; DestDir: "{app}"; Flags: ignoreversion issigverify signcheck touch Source: "files\islzma32.exe.issig"; DestDir: "{app}"; Flags: ignoreversion touch Source: "files\islzma64.exe"; DestDir: "{app}"; Flags: ignoreversion issigverify signcheck touch Source: "files\islzma64.exe.issig"; DestDir: "{app}"; Flags: ignoreversion touch Source: "files\ISPP.dll"; DestDir: "{app}"; Flags: ignoreversion issigverify {#signcheck} touch Source: "files\ISPP.dll.issig"; DestDir: "{app}"; Flags: ignoreversion touch Source: "files\ISPPBuiltins.iss"; DestDir: "{app}"; Flags: ignoreversion touch Source: "files\ISSigTool.exe"; DestDir: "{app}"; Flags: ignoreversion signonce touch Source: "whatsnew.htm"; DestDir: "{app}"; Flags: ignoreversion touch Source: "Examples\64Bit.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\64BitTwoArch.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\64BitThreeArch.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\AllPagesExample.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\CodeAutomation.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\CodeAutomation2.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\CodeClasses.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\CodeDlg.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\CodeDll.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\CodeDownloadFiles.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\CodeExample1.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\CodePrepareToInstall.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\Components.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\DownloadFiles.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\Example1.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\Example2.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\Example3.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\ISPPExample1.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\ISPPExample1License.txt"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\License.txt"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\Languages.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\MyDll.dll"; DestDir: "{app}\Examples"; Flags: ignoreversion issigverify signcheck touch Source: "Examples\MyProg.chm"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\MyProg.exe"; DestDir: "{app}\Examples"; Flags: ignoreversion issigverify signcheck touch Source: "Examples\MyProg-Arm64.exe"; DestDir: "{app}\Examples"; Flags: ignoreversion issigverify signcheck touch Source: "Examples\MyProg-x64.exe"; DestDir: "{app}\Examples"; Flags: ignoreversion issigverify signcheck touch Source: "Examples\PowerShell.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\Readme.txt"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\Readme-Dutch.txt"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\Readme-German.txt"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\UnicodeExample1.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\UninstallCodeExample1.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch Source: "Examples\MyDll\C\MyDll.c"; DestDir: "{app}\Examples\MyDll\C"; Flags: ignoreversion touch Source: "Examples\MyDll\C\MyDll.def"; DestDir: "{app}\Examples\MyDll\C"; Flags: ignoreversion touch Source: "Examples\MyDll\C\MyDll.dsp"; DestDir: "{app}\Examples\MyDll\C"; Flags: ignoreversion touch Source: "Examples\MyDll\C#\MyDll.cs"; DestDir: "{app}\Examples\MyDll\C#"; Flags: ignoreversion touch Source: "Examples\MyDll\C#\MyDll.csproj"; DestDir: "{app}\Examples\MyDll\C#"; Flags: ignoreversion touch Source: "Examples\MyDll\C#\MyDll.sln"; DestDir: "{app}\Examples\MyDll\C#"; Flags: ignoreversion touch Source: "Examples\MyDll\C#\packages.config"; DestDir: "{app}\Examples\MyDll\C#"; Flags: ignoreversion touch Source: "Examples\MyDll\C#\Properties\AssemblyInfo.cs"; DestDir: "{app}\Examples\MyDll\C#\Properties"; Flags: ignoreversion touch Source: "Examples\MyDll\Delphi\MyDll.dpr"; DestDir: "{app}\Examples\MyDll\Delphi"; Flags: ignoreversion touch [INI] Filename: "{app}\isfaq.url"; Section: "InternetShortcut"; Key: "URL"; String: "https://jrsoftware.org/isfaq.php" [UninstallDelete] Type: files; Name: "{app}\isfaq.url" [Icons] ; All these will be automatically skipped on portable mode, either because of NoIconsCheck being checked, or because of the desktopicon task being removed Name: "{group}\Inno Setup Compiler"; Filename: "{app}\Compil32.exe"; WorkingDir: "{app}"; AppUserModelID: "JR.InnoSetup.IDE.6" Name: "{group}\Inno Setup Documentation"; Filename: "{app}\ISetup.chm" Name: "{group}\Inno Setup Documentation (Dark)"; Filename: "{app}\ISetup-dark.chm" Name: "{group}\Inno Setup Example Scripts"; Filename: "{app}\Examples\" Name: "{group}\Inno Setup FAQ"; Filename: "{app}\isfaq.url" Name: "{group}\Inno Setup Revision History"; Filename: "{app}\whatsnew.htm" Name: "{autodesktop}\Inno Setup Compiler"; Filename: "{app}\Compil32.exe"; WorkingDir: "{app}"; AppUserModelID: "JR.InnoSetup.IDE.6"; Tasks: desktopicon [Run] ; The /ASSOC line will be automatically skipped on portable mode, because of the fileassoc task being removed Filename: "{app}\Compil32.exe"; Parameters: "/ASSOC"; StatusMsg: "{cm:AssocingFileExtension,Inno Setup,.iss}"; Tasks: fileassoc Filename: "{app}\Compil32.exe"; WorkingDir: "{app}"; Description: "{cm:LaunchProgram,Inno Setup}"; Flags: nowait postinstall skipifsilent [UninstallRun] ; The /UNASSOC line will be automatically skipped on portable mode, because of Uninstallable being set to no Filename: "{app}\Compil32.exe"; Parameters: "/UNASSOC"; RunOnceId: "RemoveISSAssoc"