Inno Setup is a free installer for Windows programs that was first introduced in 1997. Today, it not only rivals but often surpasses many commercial installers in terms of features and stability. It is both user-friendly and powerful, offering modern scripting, component downloads, efficient compression, wizards, encryption, and all the additional features you could imagine or desire.
Download Inno Setup v6.4.1
Third party files, for example a plugin vor Microsoft Visual Studio Code
Documentation
6.4.1 (2025-02-12)
Compiler IDE changes:
- Added mouseover tooltips for all Pascal Scripting support functions and class members, showing their prototypes. Now, all class members are displayed instead of just those of the current object’s class.
- Autocompletion lists now use the same font as the editor.
- Fix: When the IDE was started for the first time on a system with a DPI setting over 100%, the editor’s initial font size was larger than expected.
Other changes:
{reg:...}
constants can now embed REG_DWORD-type registry values.- Fix: In version 6.4.0, using “Shift+” in a HotKey parameter in the [Icons] section didn’t work and required “Shift” instead. For example, “Ctrl+ShiftM” was required instead of “Ctrl+Shift+M”.
- Fix: In version 6.4.0, a custom form shown using [Code] didn’t have a taskbar button if Setup’s wizard was not visible at the time.
- Added official Arabic translation.
- Made some minor tweaks and improvements.
6.4.0 (2025-01-09)
Compiler IDE Changes:
- Updated the Scintilla editor component used by the Compiler IDE to the latest version.
Improvements in Multiple Selection Editing:
- Added new “Add Next Occurrence” menu item to the Edit menu for adding the next occurrence of the current word or selected text as an additional selection (Shift+Alt+. or Ctrl+D).
- Added new “Select All Occurrences” menu item to the Edit menu to select all occurrences of the current word or selected text (Shift+Alt+; or Ctrl+Shift+L).
- Added new “Select All Find Matches” menu item to the Edit menu to select all matches of the last find text (Alt+Enter).
- The Find (Ctrl+F) and Replace (Ctrl+H) dialogs now support being closed by Alt+Enter to directly select all matches.
- Added shortcuts to add a cursor or selection up or down (Ctrl+Alt+Up and Ctrl+Alt+Down). For multi-line selections, this extends the selection up or down and never shrinks.
- Added shortcut to add cursors to line ends (Shift+Alt+I), behaving the same as in Visual Studio Code.
- Added shortcuts to add a word or line as an additional selection (Ctrl+Double Click, Ctrl+Triple Click, Alt+Double Click, and Alt+Triple Click).
- Added shortcut to remove a selection by clicking it (Ctrl+Click or Alt+Click).
- Multiple selections now work with Left, Right, Up, Down, Home, and End navigation and selection commands.
- Multiple selections now work with word and line deletion commands and line end insertion.
- Multiple selections now work better with Copy and Paste commands.
- Left, Right, etc., navigation with rectangular selection is now allowed.
- The Find and Replace dialogs and the tools from the Tools menu now work better with multiple selections present.
Other Editor Changes:
- Added support for Visual Studio Code-style editor shortcuts, like Ctrl+D to Add Next Occurrence, Ctrl+Shift+K to delete a line, and Alt+Click to add an additional cursor or remove a selection. Use the Options menu item in the Tools menu to set the new Keys option in the Editor group to Visual Studio Code.
- The updated Compiler IDE Keyboard And Mouse Commands help topic lists all differences with classic keyboard and mouse shortcuts.
- Only if Visual Studio Code-style editor shortcuts have been activated: Added shortcuts to copy line down (Shift+Alt+Down) and to indent or unindent lines (Ctrl+] and Ctrl+[).
- Added parameter hints for all Pascal Scripting support functions for quick reference to the function’s parameter names, types, and order. Parameter hints can be invoked manually by pressing Ctrl+Shift+Space or automatically by using the new “Invoke parameter hints automatically” option, which is enabled by default.
- Added autocompletion support for all Pascal Scripting support functions, types, constants, etc. The existing option “Invoke autocompletion automatically” controls whether the autocompletion suggestions appear automatically or only when invoked manually by pressing Ctrl+Space or Ctrl+I.
- Added parameter hints and autocompletion support for all Pascal Scripting support class members and properties, always showing all classes’ members and properties instead of just those of the current object’s class.
- Added autocompletion support for all Pascal Scripting event function parameters, always showing all parameters instead of just those of the current event function.
- Added autocompletion support for the [Messages] section.
- Improved autocompletion support for all Flags parameters, now working for multiple flags instead of the first only.
- Added new “Enable section folding” option, which allows you to temporarily hide sections while editing by clicking the new minus or plus icons in the editor’s gutter or by using the new keyboard shortcuts (Ctrl+Shift+[ to fold and Ctrl+Shift+] to unfold) or menu items. Enabled by default.
- The editor’s gutter now shows change history to keep track of saved and unsaved modifications. Always enabled.
- The editor’s font now defaults to Consolas if available, consistent with most other modern editors.
- The editor can now be scrolled horizontally by holding the Shift key while rotating the mouse wheel. Horizontal scroll wheels are now supported.
- Cut (Ctrl+X or Shift+Delete) and Copy (Ctrl+C or Ctrl+Insert) now cut or copy the entire line if there’s no selection, consistent with most other modern editors.
- Added new shortcuts to move selected lines up or down (Alt+Up and Alt+Down).
- Added new shortcut and menu item to the Edit menu to toggle line comment (Ctrl+/).
- Added new shortcut and menu item to the Edit menu to go to matching brace (Ctrl+Shift+\).
- Moved the Word Wrap option to the View menu and added a shortcut for it (Alt+Z).
- Added a right-click popup menu to the editor’s gutter column for breakpoints.
- Added dark mode support to autocompletion lists and also added a minimum width.
- Added new “Show whitespace” option. Disabled by default.
- Improved brace highlighting.
- Fixed an issue when the Auto indent mode and Allow cursor to move beyond end of lines options are both enabled.
Other Compiler IDE Changes:
- Shortcuts Alt+Left and Alt+Right now always navigate back and forward, even if Visual Studio-style menu shortcuts have been activated. Because of this, Alt+Right can no longer be used to initiate autocompletion; instead, the existing Ctrl+Space or Ctrl+I alternatives must be used.
- Moved the list of recently opened files into a new “Open Recent” submenu of the Files menu.
- Added new “Use Regular Expressions” option to the Edit menu to enable or disable the use of regular expressions for all find and replace operations and added a shortcut for it (Ctrl+Alt+R or Alt+R). Also added a small panel to the status bar to indicate the current state.
- The Find and Replace dialogs now support using Shift+Enter to temporarily search in the opposite direction.
- Added shortcuts to select a tab (Ctrl+1 through Ctrl+9).
- Added an alternative shortcut for the Compile menu item in the Build menu (Shift+F9 or F7).
- Added a shortcut to the Options menu item in the Tools menu (Ctrl+,).
- Removed the length limitation when entering a Sign Tool command and increased control height.
- Added a banner displayed to each user after each update and linked to this revision history.
- Enabled dark mode support for the menus on Windows 11 Version 24H2 (2024 Update).
Other Changes:
- Updated the LZMA SDK used by Inno Setup to the latest version, increasing the speed of LZMA and LZMA2 compression (by 10% in a test with default settings) without changing the compression ratio. Compression memory requirements have increased by about 4%. This also made it possible to add support for extracting 7-Zip archives.
- Updated the encryption algorithm and key derivation function used by Inno Setup to XChaCha20 and PBKDF2-HMAC-SHA256 respectively, increasing security. This code is built-in: the separate “encryption module” is no longer used and will be automatically deleted when you update.
- Added [Setup] section directive EncryptionKeyDerivation to change the number of PBKDF2-HMAC-SHA256 iterations to use from the default of 200000 to another value.
- Replaced all remaining uses of MD5 and SHA-1 hashes with SHA-256 hashes, without removing the MD5 and SHA-1 Pascal Scripting and ISPP support functions.
- Setup’s wizard window now shows a thumbnail image on its taskbar button and animates correctly when minimized and restored. As part of this work, support for the long-deprecated [Setup] section directive WindowVisible, which enabled a 1990s-style blue gradient background behind the wizard window, has been dropped. For the same reason, Pascal Scripting support object MainForm has been removed.
- The aspect ratio of Setup’s large and small wizard images (as specified by WizardImageFile and WizardSmallImageFile) is now maintained when the window is scaled. Previously, depending on the font and font size used, they could have appeared horizontally stretched or squished.
- The size of the small wizard image area has been extended to 58×58 (at standard DPI with the default font). Previous versions used a non-square 55×58 size, which made the default image look slightly stretched.
- When disk spanning is enabled and Setup cannot find the needed disk slice file (e.g., setup-2.bin) in the source directory, it no longer automatically searches for it in a directory named DISKx one level up, where x is the disk number. Though consistent with old installers from the 16-bit era, this behavior wasn’t documented.
- The New Script Wizard now sets UninstallDisplayIcon when an .exe is chosen as the main executable file.
- Merged the Inno Setup Preprocessor documentation into the main documentation instead of being separate.
- Added a dark mode version of the documentation, automatically used by the Compiler IDE if a dark theme is chosen.
Pascal Scripting Changes:
- Added new Extract7ZipArchive support function to extract a 7-Zip archive, based on the “7z ANSI-C Decoder” from the LZMA SDK by Igor Pavlov.
- Added new CreateExtractionPage support function to easily show the extraction progress to the user.
- Added new ExecAndCaptureOutput support function to execute a program or batch file and capture its stdout and stderr outputs separately.
- Added new StringJoin, StringSplit, and StringSplitEx support functions.
- Output logging now raises an exception if there was an error setting up output redirection (which should be very rare). The example script has been updated to catch the exception.
- Added new New: LZMA compression