Advertisement

CHANGELOG

What's New in version 6.1.2:

  • Compiler IDE change: Added new Print... (Ctrl+P) menu item to the File menu.
  • Minor tweaks.

What's New in version 6.0.4:

  • [Setup] section directives LicenseFile, InfoBeforeFile and InfoAfterFile now support objects such as images in .rtf (rich text) files.
  • Added new constant: {usersavedgames}.

Compiler IDE changes:

  • The Welcome dialog is now higher and wider by default and also resizable.
  • Added Dark theme support to the scrollbars (on newer versions of Windows) and the bottom tab set.

Restart Manager changes:

  • Setup now ignores attempts by the script to register Setup itself with Restart Manager for a being in use check.
  • If all files are excluded by [Setup] section directive CloseApplicationsFilter, Setup now no longer calls Restart Managerís RmGetList asking it to check 0 files.
  • /LOG: Now logs how many files Setup asked Restart Managerís RmGetList to check.
  • Added new command line parameter /LOGCLOSEAPPLICATIONS. Instructs Setup to create extra logging when closing applications for debugging purposes.
  • Fix: [Setup] section directive CloseApplicationsFilter was ignored by checks for [InstallDelete] entries.
  • Windows AppLocker publisher conditions are now supported by Setup up to and including the file name level.
  • Pascal Scripting change: Added new IsDotNetInstalled support function, based on code by Cristoph Nahr.
  • Inno Setup Preprocessor (ISPP) change: Added new UpperCase support function.
  • Fix: Event attributes for uninstall event functions now actually work.
  • Minor tweaks and documentations improvements.
  • Enabled HTTPS on jrsoftware.org.

What's New in version 6.0.3:

  • /LOG: Now logs Windows compatibility mode when this is activated by the user.
  • Added new [Setup] section directive: SignToolRunMinimized.
  • [Setup] section directive UsePreviousLanguage now also has an effect when the Select Language dialog is not displayed because Setup is for example running silently.
  • Checkboxes displayed by lists now look better on high DPI systems.

Compiler IDE changes:

  • Added Dark theme support to the toolbar.
  • When paused on a breakpoint in the [Code] section the new 'Debug Call Stack' view now shows the call stack.
  • The 'Compiler Output' and 'Debug Output' views now support multi selection, an extra Select All popup menu item and Ctrl+C and Ctrl+A keyboard shortcuts. The Copy action now only copies the selected lines instead of all lines.

Inno Setup Preprocessor (ISPP) changes:

  • Array variables declared with #dim can now be initialized directly, like #dim MyArray[3] {1, 2, 3} for example.
  • Added new predefined variable Tab.
  • Pascal Scripting change: Added new Set8087CW and Get8087CW support functions.
  • Some messages have been added in this version: (View differences in Default.isl).
  • PrepareToInstallNeedsRestart: This message is used by the Preparing to Install wizard page if a restart is needed. If this message is not set by a translation, Setup will instead use FinishedRestartLabel and FinishedRestartMessage as before.
  • ComponentsDiskSpaceGBLabel and DiskSpaceGBLabel: These messages are used by Setup to display required disk spaces of 1000.0 MB or more in gigabytes instead of in megabytes. If these messages are not set by a translation, Setup will instead use ComponentsDiskSpaceMBLabel and DiskSpaceMBLabel as before.
  • Added official Slovak translation.
  • Minor tweaks and cosmetic fixes.
  • Contributions via GitHub: Thanks to Vizit0r for their contributions.

What's New in version 6.0.2:

  • Added new {sysnative} constant.

Pascal Scripting changes:

  • Added new WizardSelectComponents and WizardSelectTasks support functions.
  • Renamed the IsComponentSelected and IsTaskSelected support functions to WizardIsComponentSelected and WizardIsTaskSelected. The old names are still supported, but it is recommended to update your scripts to the new names and the compiler will issue a warning if you don't.
  • Minor cosmetic fixes.

What's New in version 5.6.1:

  • /LOG: Now logs some additional information about uninstall info saving.
  • The {sendto} constant has been renamed to {usersendto} and now can correctly trigger a used user areas warning. It still returns the same directory: the path to the current user's Send To folder. (There is no common Send To folder.)
  • Minor fixes to the registry entries logging and improved syntax highlighting introduced by the previous version.
  • Minor tweaks.

What's New in version 5.5.9:

  • To further help protect installers against potential DLL preloading attacks, Setup/Uninstall now calls SetDefaultDllDirectories if available to remove the application directory from the DLL search order. If SetDefaultDllDirectories is not available or cannot be called, it now additionally preloads a set of system DLLs known to be loaded unsafely by older or unpatched versions of Windows.
  • Change in default behavior: the OutputBaseFileName [Setup] section directive now defaults to mysetup instead of setup. Setting it back to setup is not recommended: all executables named 'setup.exe' are shimmed by Windows application compatibility to load additional DLLs, such as version.dll. These DLLs are loaded unsafely by Windows and can be hijacked. If you do so anyway, the compiler will issue a warning.
  • Added new [Files] section flags: sign and signonce. Instructs the compiler to digitally sign the original source files before storing them. Ignored if [Setup] section directive SignTool is not set. Inno Setup's own compiler files are now also signed.
  • [Setup] section directive LZMADictionarySize now allows the LZMA dictionary size to be increased up to 1 GB from the previous maximum of 256 MB. Review the memory requirements listed in the Compression topic before using!
  • Improved the 'auto-retry' feature of the [Files] section: it now also retries if MoveFile failed even if the preceding DeleteFile succeeded. Additionally, if MoveFile keeps failing it will now register the file to be replaced on restart if the restartreplace [Files] section flag is used instead of displaying an error message.
  • The value of the AppVersion directive is now not only used to set the MajorVersion and MinorVersion values in the Uninstall registry key when possible but also used to set the VersionMajor and VersionMinor values as required by newer versions of the Windows App Certification Kit.
  • Unicode Inno Setup: Added official Armenian translation.
  • Minor tweaks.

What's New in version 5.5.6:

  • Added the Windows 10 'compatibility' section to the various manifest resources used by Inno Setup.
  • Added new [Setup] section directive: SignToolRetryCount, which defaults to 2. Specifies the number of times the Setup Compiler should automatically retry digital signing on any errors.
  • Added new [Setup] section directive: SetupMutex. Can be used to prevent Setup from running while Setup is already running.
  • Fix: Console-mode compiler (ISCC) change: Renamed /DO and /EO command line parameters to /O- and /O+ to avoid possible conflicts with /D.
  • Pascal Scripting change: Unicode Inno Setup: Added new functions VarIsClear and UnpinShellLink.
  • Inno Setup Preprocessor (ISPP) change: Added new function ForceDirectories.
  • Unicode [Code] based on RemObjects Pascal Script Git commit db0d6f521113a31b34a76aeefd79fb148a9c4bfd.
  • Various documentation improvements.
  • Minor tweaks.

What's New in version 5.5.5:

  • /LOG: Now logs INI entries. Also improved logging of icon entries.
  • Added new [Setup] section directive: Output, which defaults to yes. If set to no the Setup Compiler will only check the script for errors and skip creating setup files.
  • Added official Scottish Gaelic and Turkish translations.
  • Fix: [Setup] section directive UsePreviousLanguage was not working when Setup was running in 64-bit mode.
  • Unicode [Code] based on RemObjects Pascal Script Git commit 97eefc260b41ba51328d95b4ed43669f38655720.
  • Various documentation improvements.

Console-mode compiler (ISCC) changes:

  • Added new command line parameters /DO and /EO. These can be used to disable or enable output, overriding the Output directive.
  • Added new command line parameter /Qp. Can be used to enable quiet compile while still displaying progress.
  • ISCC now automatically specifies any Sign Tools configured using the IDE, eliminating the need to specify these using the /S command line parameter.

Pascal Scripting changes:

  • Added new function CurrentSourceFileName, which returns the source file name of the [Files] entry that is currently being processed. The returned name may include constants. Note: Do not attempt to call this function from outside a Check, BeforeInstall or AfterInstall event function belonging to a [Files] entry with the external flag.
  • The already-existing StrToFloat and FloatToStr functions are now documented.
  • Strings and numbers are now highlighted.
  • Unicode Inno Setup: Added new class TStringStream.

Inno Setup Preprocessor (ISPP) changes:

  • Added function DeleteFileNow.
  • Added 64-bit support to function ReadReg.

What's New in version 5.5.4:

  • Added the Windows 8.1 'compatibility' section to the various manifest resources used by Inno Setup. This enables any check for the operating system version to get the real version number (6.3) instead of getting the same version number as it did in Windows 8 (6.2).
  • Compiler IDE: Added new option: Show line numbers in gutter (default: off).

Pascal Scripting changes:

  • Added new event function CurInstallProgressChanged, which you can use to monitor progress while Setup is extracting files, creating shortcuts, creating INI entries, and creating registry entries. See the help file and the CodeExample1.iss example script for more information. Contributed by TLama via GitHub.
  • WizardForm.BeveledLabel visibility is now automatically handled even if its caption was set from [Code].
  • Unicode [Code] based on RemObjects Pascal Script Git commit 538905910852bcbeef646f26592a973d15d3d5ec.
  • Minor tweaks.

What's New in version 5.4.2:

  • Windows 7 change:
    • Added new [Icons] section flag: excludefromshowinnewinstall. Prevents a Start menu entry for a newly installed application shortcut from receiving a highlight on Windows 7 (or later). Ignored on earlier Windows versions.
  • Compiler IDE change:
    • Changed shortcut for Edit | Complete Word to Alt+Right (but still recognize Ctrl+Space). Reportedly, Ctrl+Space conflicts with the Chinese IME.
  • Fixes:
    • Inno Setup Preprocessor: #include handling of '.\' and '..\' now treats such filenames as relative to the directory containing the current file, not to the current directory (which is undefined).
    • On the 5.4.1 Unicode compiler, trying to build a multi-language installer while running under a DBCS code page could unexpectedly result in 'Illegal null character' errors.
    • On Unicode, string-type parameters passed to BeforeInstall and AfterInstall functions were being converted to ANSI.

What's New in version 5.4.1:

  • Inno Setup Preprocessor (ISPP) changes:
    • ISPP is now an official part of Inno Setup and is included in the standard Inno Setup installer instead of only being included in the QuickStart Pack installer.
    • It is now possible to enable ISPP preprocessing on .isl files by adding a line saying #preproc ispp at the top of the .isl file.
    • With the exception of Exec, ReadIni, and WriteIni, all ISPP functions that take filenames have been changed to interpret the filenames as relative to SourcePath instead of the current directory. Additionally, these functions, the #include directive, and the #file directive now support prefix expansion (e.g. 'compiler:') in filenames.
    • The #include directive no longer searches the current directory.
    • Builtins.iss has been renamed to ISPPBuiltins.iss.
    • The Compiler IDE no longer displays a separate ISPP version number in its title bar.
  • Compiler IDE changes:
    • The Edit | Replace | Replace All command now actually replaces all occurrences, instead of doing a Delphi-style "From Cursor" replacement. Also it now counts all replacements as a single undo action and shows how many occurrences were replaced.
    • Unicode change: Added a new File | Save Encoding submenu. It now defaults to preserving the UTF-8 BOM of existing files, even if the UTF-8 encoding isn't really needed.
  • Unicode change: Added support for Unicode characters in DLL filenames (not specified directly in the script, but returned by constants like {app}). This fixes the "Cannot Import" error seen with for example the CodeDll.iss example script when uninstalling from an {app} path containing non-ANSI characters.
  • Two new Setup exit codes related to the Preparing to Install stage were added. See the help file for more information.
  • Minor tweaks.

What's New in version 5.4.0:

  • Compiler IDE changes:
    • The editor component has been changed from SynEdit to Scintilla.
    • Autocompletion support has been added to all sections except for [Messages], [CustomMessages], and [Code].
    • Brace highlighting has been added to all sections.
    • Syntax errors are now underlined during editing. (Support for the [Code] section is limited.)
    • Constants are now highlighted.
    • Variable-pitch fonts may now be selected as the editor font.
    • ISPP inline directives ({#...}) are now consistently highlighted in all contexts.
    • Zooming is now supported.
    • Added new options: Word wrap (default: off), Auto indent mode (default: on), Show indentation guides (default: off), Invoke autocomplete automatically (default: on), Underline syntax errors (default: on), and Use tab character (default: off).
  • Setup now instructs edit controls which are used to input a file or folder name to use AutoComplete to help complete file system paths.
  • On disk space checks, Setup now queries the nearest volume mount point rather than the root.
  • The default directory and Start Menu folder names specified via the /DIR=, /GROUP=, and /LOADINF= command line parameters now may include an "expand:" prefix which instructs Setup to expand any constants in the name. For example: /DIR="expand:{pf}\My Program".
  • Pascal Scripting changes:
    • TNewProgressBar: Added new Style and State properties. See the CodeClasses.iss example script for an example.
    • TBitmapImage: Added new OnClick and OnDblClick properties. See the CodeClasses.iss example script for an example.
  • Dropped Itanium-specific 64-bit support for the [Files] section's regtypelib flag and the [Registry] section's Permissions parameter. These features depended on an Itanium-specific "helper" binary, which we no longer have the ability to test or build. (x64 support for these features is unaffected.)
  • Updated bzip2 library to version 1.0.6.
  • Minor tweaks.