setup.iss 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. ; -- Setup.iss --
  2. ; Inno Setup's own Setup script
  3. ; Inno Setup
  4. ; Copyright (C) 1997-2025 Jordan Russell. All rights reserved.
  5. ; Portions Copyright (C) 2000-2025 Martijn Laan. All rights reserved.
  6. ; For conditions of distribution and use, see LICENSE.TXT.
  7. #include "isdonateandmail.iss"
  8. #include "isportable.iss"
  9. [Setup]
  10. AppName=Inno Setup
  11. AppId={code:GetAppId|Inno Setup 6}
  12. AppVersion=6.5.0-dev
  13. AppPublisher=jrsoftware.org
  14. AppPublisherURL=https://www.innosetup.com/
  15. AppSupportURL=https://www.innosetup.com/
  16. AppUpdatesURL=https://www.innosetup.com/
  17. VersionInfoCopyright=Copyright (C) 1997-2025 Jordan Russell. Portions Copyright (C) 2000-2025 Martijn Laan.
  18. AppMutex=InnoSetupCompilerAppMutex,Global\InnoSetupCompilerAppMutex
  19. SetupMutex=InnoSetupCompilerSetupMutex,Global\InnoSetupCompilerSetupMutex
  20. WizardStyle=modern
  21. DefaultDirName={code:GetDefaultDirName|Inno Setup 6}
  22. DefaultGroupName=Inno Setup 6
  23. PrivilegesRequiredOverridesAllowed=commandline
  24. AllowNoIcons=yes
  25. Compression=lzma2/max
  26. SolidCompression=yes
  27. Uninstallable=not PortableCheck
  28. UninstallDisplayIcon={app}\Compil32.exe
  29. UsePreviousLanguage=no
  30. LicenseFile=license.txt
  31. TimeStampsInUTC=yes
  32. TouchDate=none
  33. TouchTime=00:00
  34. #ifdef SIGNTOOL
  35. SignTool=issigntool256
  36. SignedUninstaller=yes
  37. #endif
  38. #sub ProcessFoundLanguagesFile
  39. #define FileName FindGetFileName(FindHandle)
  40. #define Name LowerCase(RemoveFileExt(FileName))
  41. #define MessagesFile FindPathName + FileName
  42. //#define CustomMessagesFile FindPathName + 'Setup\' + Name + '.isl';
  43. //#if FileExists(CustomMessagesFile)
  44. // #pragma message "Generating [Languages] entry with name " + Name + ": " + MessagesFile + ' & ' + CustomMessagesFile
  45. // Name: {#Name}; MessagesFile: "{#MessagesFile},{#CustomMessagesFile}"
  46. //#else
  47. #pragma message "Generating [Languages] entry with name " + Name + ": " + MessagesFile
  48. Name: {#Name}; MessagesFile: "{#MessagesFile}"
  49. //#endif
  50. #endsub
  51. //
  52. #define FindPathName
  53. #define FindHandle
  54. #define FindResult
  55. //
  56. #sub DoFindFiles
  57. #for {FindHandle = FindResult = FindFirst(FindPathName + "*.isl", 0); FindResult; FindResult = FindNext(FindHandle)} ProcessFoundLanguagesFile
  58. #if FindHandle
  59. #expr FindClose(FindHandle)
  60. #endif
  61. #endsub
  62. //
  63. #define FindFiles(str PathName) \
  64. FindPathName = PathName, \
  65. DoFindFiles
  66. //
  67. [Languages]
  68. Name: english; MessagesFile: "files\Default.isl"
  69. // Generate [Languages] entries for all official translations
  70. #expr FindFiles("files\Languages\")
  71. [Messages]
  72. HelpTextNote=/PORTABLE=1%nEnable portable mode.
  73. ; Two "Setup" on the same line looks weird, so put a line break in between
  74. english.WelcomeLabel1=Welcome to the Inno Setup%nSetup Wizard
  75. [Tasks]
  76. Name: desktopicon; Description: "{cm:CreateDesktopIcon}"; Flags: unchecked; Check: not PortableCheck
  77. Name: fileassoc; Description: "{cm:AssocFileExtension,Inno Setup,.iss}"; Check: not PortableCheck
  78. [InstallDelete]
  79. ; Remove old ISPP files
  80. Type: files; Name: "{app}\ISCmplr.dls"
  81. Type: files; Name: "{app}\Builtins.iss"
  82. Type: files; Name: "{app}\ISPP.chm"
  83. ; Remove desktop icon if needed
  84. Type: files; Name: {autodesktop}\Inno Setup Compiler.lnk; Tasks: not desktopicon; Check: not PortableCheck
  85. ; Remove old FAQ file
  86. Type: files; Name: "{app}\isfaq.htm"
  87. ; Remove old .islu files
  88. Type: files; Name: "{app}\Languages\*.islu"
  89. ; Remove translations in case any got demoted
  90. Type: files; Name: "{app}\Languages\*.isl"
  91. ; Remove old ispack files
  92. Type: files; Name: "{app}\Ispack-setup.exe"
  93. Type: files; Name: "{app}\Examples\Setup.iss"
  94. Type: files; Name: "{app}\Examples\Setup.ico"
  95. Type: files; Name: "{app}\Examples\IsDonateAndMail.iss"
  96. Type: files; Name: "{app}\Examples\IsDonate.bmp"
  97. Type: files; Name: "{app}\Examples\IsMail.bmp"
  98. Type: files; Name: "{app}\Examples\IsPortable.iss"
  99. ; Removed old/renamed wizard images
  100. Type: files; Name: "{app}\WizModernImage.bmp"
  101. Type: files; Name: "{app}\WizModernImage-IS.bmp"
  102. Type: files; Name: "{app}\WizModernSmallImage.bmp"
  103. Type: files; Name: "{app}\WizModernSmallImage-IS.bmp"
  104. ; Remove old ISCrypt.dll
  105. Type: files; Name: "{app}\ISCrypt.dll"
  106. #include "setup.allowedpublickeys.iss"
  107. #ifdef SIGNTOOL
  108. #define signcheck "signcheck"
  109. #else
  110. #define signcheck
  111. #endif
  112. [Files]
  113. Source: "license.txt"; DestDir: "{app}"; Flags: ignoreversion touch
  114. Source: "files\ISetup.chm"; DestDir: "{app}"; Flags: ignoreversion touch
  115. Source: "files\ISetup-dark.chm"; DestDir: "{app}"; Flags: ignoreversion touch
  116. Source: "files\Compil32.exe"; DestDir: "{app}"; Flags: ignoreversion signonce touch
  117. Source: "files\isscint.dll"; DestDir: "{app}"; Flags: ignoreversion issigverify signcheck touch
  118. Source: "files\isscint.dll.issig"; DestDir: "{app}"; Flags: ignoreversion touch
  119. Source: "files\ISCC.exe"; DestDir: "{app}"; Flags: ignoreversion {#signcheck} touch
  120. Source: "files\ISCmplr.dll"; DestDir: "{app}"; Flags: ignoreversion issigverify {#signcheck} touch
  121. Source: "files\ISCmplr.dll.issig"; DestDir: "{app}"; Flags: ignoreversion touch
  122. Source: "files\Setup.e32"; DestDir: "{app}"; Flags: ignoreversion issigverify touch
  123. Source: "files\Setup.e32.issig"; DestDir: "{app}"; Flags: ignoreversion touch
  124. Source: "files\SetupLdr.e32"; DestDir: "{app}"; Flags: ignoreversion issigverify touch
  125. Source: "files\SetupLdr.e32.issig"; DestDir: "{app}"; Flags: ignoreversion touch
  126. Source: "files\Default.isl"; DestDir: "{app}"; Flags: ignoreversion touch
  127. Source: "files\Languages\*.isl"; DestDir: "{app}\Languages"; Flags: ignoreversion touch
  128. Source: "files\SetupClassicIcon.ico"; DestDir: "{app}"; Flags: ignoreversion touch
  129. Source: "files\WizClassicImage.bmp"; DestDir: "{app}"; Flags: ignoreversion touch
  130. Source: "files\WizClassicImage-IS.bmp"; DestDir: "{app}"; Flags: ignoreversion touch
  131. Source: "files\WizClassicSmallImage.bmp"; DestDir: "{app}"; Flags: ignoreversion touch
  132. Source: "files\WizClassicSmallImage-IS.bmp"; DestDir: "{app}"; Flags: ignoreversion touch
  133. Source: "files\is7z.dll"; DestDir: "{app}"; Flags: ignoreversion issigverify signcheck touch
  134. Source: "files\is7z.dll.issig"; DestDir: "{app}"; Flags: ignoreversion touch
  135. Source: "files\is7zxa.dll"; DestDir: "{app}"; Flags: ignoreversion issigverify signcheck touch
  136. Source: "files\is7zxa.dll.issig"; DestDir: "{app}"; Flags: ignoreversion touch
  137. Source: "files\is7zxr.dll"; DestDir: "{app}"; Flags: ignoreversion issigverify signcheck touch
  138. Source: "files\is7zxr.dll.issig"; DestDir: "{app}"; Flags: ignoreversion touch
  139. Source: "files\iszlib.dll"; DestDir: "{app}"; Flags: ignoreversion issigverify signcheck touch
  140. Source: "files\iszlib.dll.issig"; DestDir: "{app}"; Flags: ignoreversion touch
  141. Source: "files\isunzlib.dll"; DestDir: "{app}"; Flags: ignoreversion issigverify signcheck touch
  142. Source: "files\isunzlib.dll.issig"; DestDir: "{app}"; Flags: ignoreversion touch
  143. Source: "files\isbzip.dll"; DestDir: "{app}"; Flags: ignoreversion issigverify signcheck touch
  144. Source: "files\isbzip.dll.issig"; DestDir: "{app}"; Flags: ignoreversion touch
  145. Source: "files\isbunzip.dll"; DestDir: "{app}"; Flags: ignoreversion issigverify signcheck touch
  146. Source: "files\isbunzip.dll.issig"; DestDir: "{app}"; Flags: ignoreversion touch
  147. Source: "files\islzma.dll"; DestDir: "{app}"; Flags: ignoreversion issigverify signcheck touch
  148. Source: "files\islzma.dll.issig"; DestDir: "{app}"; Flags: ignoreversion touch
  149. Source: "files\islzma32.exe"; DestDir: "{app}"; Flags: ignoreversion issigverify signcheck touch
  150. Source: "files\islzma32.exe.issig"; DestDir: "{app}"; Flags: ignoreversion touch
  151. Source: "files\islzma64.exe"; DestDir: "{app}"; Flags: ignoreversion issigverify signcheck touch
  152. Source: "files\islzma64.exe.issig"; DestDir: "{app}"; Flags: ignoreversion touch
  153. Source: "files\ISPP.dll"; DestDir: "{app}"; Flags: ignoreversion issigverify {#signcheck} touch
  154. Source: "files\ISPP.dll.issig"; DestDir: "{app}"; Flags: ignoreversion touch
  155. Source: "files\ISPPBuiltins.iss"; DestDir: "{app}"; Flags: ignoreversion touch
  156. Source: "files\ISSigTool.exe"; DestDir: "{app}"; Flags: ignoreversion signonce touch
  157. Source: "whatsnew.htm"; DestDir: "{app}"; Flags: ignoreversion touch
  158. Source: "Examples\64Bit.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  159. Source: "Examples\64BitTwoArch.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  160. Source: "Examples\64BitThreeArch.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  161. Source: "Examples\AllPagesExample.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  162. Source: "Examples\CodeAutomation.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  163. Source: "Examples\CodeAutomation2.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  164. Source: "Examples\CodeClasses.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  165. Source: "Examples\CodeDlg.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  166. Source: "Examples\CodeDll.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  167. Source: "Examples\CodeDownloadFiles.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  168. Source: "Examples\CodeExample1.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  169. Source: "Examples\CodePrepareToInstall.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  170. Source: "Examples\Components.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  171. Source: "Examples\DownloadFiles.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  172. Source: "Examples\Example1.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  173. Source: "Examples\Example2.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  174. Source: "Examples\Example3.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  175. Source: "Examples\ISPPExample1.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  176. Source: "Examples\ISPPExample1License.txt"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  177. Source: "Examples\License.txt"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  178. Source: "Examples\Languages.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  179. Source: "Examples\MyDll.dll"; DestDir: "{app}\Examples"; Flags: ignoreversion issigverify signcheck touch
  180. Source: "Examples\MyProg.chm"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  181. Source: "Examples\MyProg.exe"; DestDir: "{app}\Examples"; Flags: ignoreversion issigverify signcheck touch
  182. Source: "Examples\MyProg-Arm64.exe"; DestDir: "{app}\Examples"; Flags: ignoreversion issigverify signcheck touch
  183. Source: "Examples\MyProg-x64.exe"; DestDir: "{app}\Examples"; Flags: ignoreversion issigverify signcheck touch
  184. Source: "Examples\PowerShell.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  185. Source: "Examples\Readme.txt"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  186. Source: "Examples\Readme-Dutch.txt"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  187. Source: "Examples\Readme-German.txt"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  188. Source: "Examples\UnicodeExample1.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  189. Source: "Examples\UninstallCodeExample1.iss"; DestDir: "{app}\Examples"; Flags: ignoreversion touch
  190. Source: "Examples\MyDll\C\MyDll.c"; DestDir: "{app}\Examples\MyDll\C"; Flags: ignoreversion touch
  191. Source: "Examples\MyDll\C\MyDll.def"; DestDir: "{app}\Examples\MyDll\C"; Flags: ignoreversion touch
  192. Source: "Examples\MyDll\C\MyDll.dsp"; DestDir: "{app}\Examples\MyDll\C"; Flags: ignoreversion touch
  193. Source: "Examples\MyDll\C#\MyDll.cs"; DestDir: "{app}\Examples\MyDll\C#"; Flags: ignoreversion touch
  194. Source: "Examples\MyDll\C#\MyDll.csproj"; DestDir: "{app}\Examples\MyDll\C#"; Flags: ignoreversion touch
  195. Source: "Examples\MyDll\C#\MyDll.sln"; DestDir: "{app}\Examples\MyDll\C#"; Flags: ignoreversion touch
  196. Source: "Examples\MyDll\C#\packages.config"; DestDir: "{app}\Examples\MyDll\C#"; Flags: ignoreversion touch
  197. Source: "Examples\MyDll\C#\Properties\AssemblyInfo.cs"; DestDir: "{app}\Examples\MyDll\C#\Properties"; Flags: ignoreversion touch
  198. Source: "Examples\MyDll\Delphi\MyDll.dpr"; DestDir: "{app}\Examples\MyDll\Delphi"; Flags: ignoreversion touch
  199. [INI]
  200. Filename: "{app}\isfaq.url"; Section: "InternetShortcut"; Key: "URL"; String: "https://jrsoftware.org/isfaq.php"
  201. [UninstallDelete]
  202. Type: files; Name: "{app}\isfaq.url"
  203. [Icons]
  204. ; All these will be automatically skipped on portable mode, either because of NoIconsCheck being checked, or because of the desktopicon task being removed
  205. Name: "{group}\Inno Setup Compiler"; Filename: "{app}\Compil32.exe"; WorkingDir: "{app}"; AppUserModelID: "JR.InnoSetup.IDE.6"
  206. Name: "{group}\Inno Setup Documentation"; Filename: "{app}\ISetup.chm"
  207. Name: "{group}\Inno Setup Documentation (Dark)"; Filename: "{app}\ISetup-dark.chm"
  208. Name: "{group}\Inno Setup Example Scripts"; Filename: "{app}\Examples\"
  209. Name: "{group}\Inno Setup FAQ"; Filename: "{app}\isfaq.url"
  210. Name: "{group}\Inno Setup Revision History"; Filename: "{app}\whatsnew.htm"
  211. Name: "{autodesktop}\Inno Setup Compiler"; Filename: "{app}\Compil32.exe"; WorkingDir: "{app}"; AppUserModelID: "JR.InnoSetup.IDE.6"; Tasks: desktopicon
  212. [Run]
  213. ; The /ASSOC line will be automatically skipped on portable mode, because of the fileassoc task being removed
  214. Filename: "{app}\Compil32.exe"; Parameters: "/ASSOC"; StatusMsg: "{cm:AssocingFileExtension,Inno Setup,.iss}"; Tasks: fileassoc
  215. Filename: "{app}\Compil32.exe"; WorkingDir: "{app}"; Description: "{cm:LaunchProgram,Inno Setup}"; Flags: nowait postinstall skipifsilent
  216. [UninstallRun]
  217. ; The /UNASSOC line will be automatically skipped on portable mode, because of Uninstallable being set to no
  218. Filename: "{app}\Compil32.exe"; Parameters: "/UNASSOC"; RunOnceId: "RemoveISSAssoc"