ANN: Inno Setup 6.3.0 released

354 views
Skip to first unread message

Martijn Laan

unread,
Jun 9, 2024, 5:48:56 AMJun 9
to innosetup
Hi all,

As a developer working on Inno Setup for almost 25 years, I am happy to announce the release of Inno Setup 6.3.0, which includes a large number of improvements. I would also like to the opportunity to thank you all for your feedback, support, and contributions over these years! They have been invaluable in shaping Inno Setup into the advanced installer it is today. A special acknowledgement goes to Jordan Russell, who has been dedicated to this project for an even more remarkable 27 years.

For the complete list of what's new/changed, see: https://jrsoftware.org/files/is6-whatsnew.htm

Download: https://www.jrsoftware.org/isdl.php

Here is a summary of the key changes:
  • UTF-8 Encoding Improvements: UTF-8 without BOM is now fully supported for various file types, including script (.iss), message files (.isl), and more. The Compiler IDE defaults to saving new script files in this format. Additionally, new support functions for UTF-8 are included in Pascal Scripting and ISPP.
  • Arm64 Systems Support: There's now official support for the installation of x64 apps on Arm64 Windows 11 systems. New identifiers such as 'x64compatible' and support for boolean expressions in the Architecture directives enhance the flexibility for targeting different system architectures. To enable your x64 app installers to run properly on Arm64 Windows 11, now only some minor changes are needed in your scripts.
  • Compiler IDE Enhancements: The IDE can now open up to 20 #include files in tabs which can now be closed. Various other improvements include new navigation buttons, dark mode enhancements, Visual Studio-style shortcut support, highlighting of occurrences of the current word or selection, multiple selection support (Ctrl+Left Mouse Click or Ctrl+Left Mouse Drag), two new tools to generate [Files] and [Registry] entries, and updates to the New Script Wizard. Additionally, breakpoints are now preserved between sessions and the icons used by the editor's gutter have been modernized.
  • Dropped Support: Windows Vista, Windows Server 2008, and Itanium architecture support have been removed.
  • Logging Improvements: A new 'logoutput' flag for [Run] and [UninstallRun] sections allows for logging of program outputs. Additionally, there's a new UninstallLogging directive for always generating uninstallation logs, and enhancements to logging program executions in the Compiler IDE, Pascal Scripting, and ISPP demonstrated by the new PowerShell.iss example script.
  • Other Notable Changes: These include a new 'signcheck' flag for the [Files] section, strengthened defence against DLL preloading, various improved icons, and an official Korean translation. Also, a range of Pascal Scripting functions have been introduced or improved, and a new control has been added which can display multi-line text with embedded links.

Grateful for the support, I'm eager to continue advancing Inno Setup together.

To contribute, consider a donation at https://www.jrsoftware.org/isdonate.php. Thank you!

Greetings,
Martijn Laan

Jernej Simončič

unread,
Jun 9, 2024, 6:35:38 AMJun 9
to Martijn Laan on [innosetup]

On Sunday, June 9, 2024, 11:48:56, Martijn Laan wrote:


Download: https://www.jrsoftware.org/isdl.php

There's something wrong with the new IDE, it crashes immediately on my computer. Not sure if it's due to me using high contrast mode in Windows, or due to combination of that and high-DPI, or something else (the crash causes Dr.Mingw to go in infinite loop, while trying to debug with gdb shows an Illegal instruction in ntdll…). I don't have Delphi installed at the moment unfortunately.

 

Command-line compiler works fine.

 

-- 
< Jernej Simončič ><><><><>< https://eternallybored.org/ >


People will believe anything if you whisper it.
       -- The Whispered Rule

Jernej Simončič

unread,
Jun 9, 2024, 6:40:40 AMJun 9
to Jernej Simončič on [innosetup]

On Sunday, June 9, 2024, 12:35:32, Jernej Simončič wrote:


There's something wrong with the new IDE, it crashes immediately on my computer. Not sure if it's due to me using high contrast mode in Windows, or due to combination of that and high-DPI, or something else (the crash causes Dr.Mingw to go in infinite loop, while trying to debug with gdb shows an Illegal instruction in ntdll…). I don't have Delphi installed at the moment unfortunately.

Tried it in a clean virtual machine, the compiler also crashes with

 

---------------------------

Application Error

---------------------------

Exception EScintEditError in module Compil32.exe at 001D7E55.

 

TScintEdit error: Too many colors.

 

 

---------------------------

V redu 

---------------------------

 

Looks like the problem happens when DPI is set above 200% (I run at 225%).

 

-- 
< Jernej Simončič ><><><><>< https://eternallybored.org/ >


Good times end too quickly. Bad times go on forever.
       -- Time Observation

Martijn Laan

unread,
Jun 9, 2024, 7:05:09 AMJun 9
to innosetup
>Looks like the problem happens when DPI is set above 200% (I run at 225%).

Ok, wow. I have tested it with 200% DPI but my system doesn't allow more and didn't realize more was possible.

I'm not suprised this lead to the colors error.


Greetings,
Martijn

Op zondag 9 juni 2024 om 12:40:40 UTC+2 schreef Jernej Simončič:

Jernej Simončič

unread,
Jun 9, 2024, 8:28:50 AMJun 9
to Martijn Laan on [innosetup]

On Sunday, June 9, 2024, 13:05:09, Martijn Laan wrote:


Ok, wow. I have tested it with 200% DPI but my system doesn't allow more and didn't realize more was possible.

Yeah, Windows restricts which DPI settings are shown based on your resolution (I'm running 27″ monitors with 5120x2880), though if you click the option for custom DPI, you can type in anything you want (however that also gives you legacy scaling, which requires logoff and logon to apply).

 

I'm not suprised this lead to the colors error.

This one works, thanks!

-- 
< Jernej Simončič ><><><><>< https://eternallybored.org/ >


Things equal to nothing else are equal to each other.
       -- First Postulate of Isomurphism

Martijn Laan

unread,
Jun 9, 2024, 9:33:17 AMJun 9
to innosetup
I did try the custom DPI option earlier but after a few seconds of high DPI after logon it reverts to 100% DPI for some reason (the desktop, not the settings).

Anyway, glad it fixed the issue, thanks for reporting and testing so quickly. I've replace the main download on the site with the new build which includes the workaround.

Hope you like the new version! And thanks for all your support over the years :)

Also, something I have been working on but is not included in 6.3.0 is updating the Scintilla component used by the Compiler IDE. I'm now at 3.4.4 instead of 2.22.

One thing this does it removing the 'too many colors' limitation you encountered. If you can please try this build:

It should be able to display all of the editor's gutter icons at their highest resolution on any DPI unlike 6.3.0.

Other changes it includes are:
  • Added shortcuts to move selected lines up or down (Alt+Up and Alt+Down).
  • Added shortcuts to add a word or line as an additional selection (Ctrl+Double Click and Ctrl+Triple Click).
  • When autocompleting with multiple selections present, the autocompleted text now goes into each selection.
Later it will also have Ctrl+D and Ctrl+Shift+L to select next or all matches, and support for navigation while having multiple selections.

This makes editing much faster, especially for parameter based sections.

Greetings,
Martijn


Op zondag 9 juni 2024 om 14:28:50 UTC+2 schreef Jernej Simončič:

Jernej Simončič

unread,
Jun 9, 2024, 10:39:52 AMJun 9
to Martijn Laan on [innosetup]

On Sunday, June 9, 2024, 15:33:16, Martijn Laan wrote:


I did try the custom DPI option earlier but after a few seconds of high DPI after logon it reverts to 100% DPI for some reason (the desktop, not the settings).

Are you using VMWare? It has an option to automatically match guest DPI (which in my experience just causes problems, so I disable it for every VM – uncheck VM Settings → Display → Automatically adjust user interface size in the virtual machine).

 

Anyway, glad it fixed the issue, thanks for reporting and testing so quickly. I've replace the main download on the site with the new build which includes the workaround.

Hope you like the new version! And thanks for all your support over the years :)

It'll certainly help with the x64/arm64 stuff :)

 

Also, something I have been working on but is not included in 6.3.0 is updating the Scintilla component used by the Compiler IDE. I'm now at 3.4.4 instead of 2.22.

One thing this does it removing the 'too many colors' limitation you encountered. If you can please try this build:

It should be able to display all of the editor's gutter icons at their highest resolution on any DPI unlike 6.3.0.

Seems to work fine, though I can't really see any difference regarding the gutter icons.

 

-- 
< Jernej Simončič ><><><><>< https://eternallybored.org/ >


Any object that is accidentally dropped will hide under a larger object.
       -- Mickelson's Law of Falling Objects

audio boy

unread,
Jun 10, 2024, 8:23:01 AMJun 10
to innosetup
I have the same issue, innosetup wont start with the same error
Im at 200% dpi, not higher
The link posted earlier is no longer availble

Alessandro Marinuzzi

unread,
Jun 10, 2024, 8:23:12 AMJun 10
to inno...@googlegroups.com
Hello,

Inno Setup should crash on my pc since I have 4k resolution with hight dpi with 225%...

I keep always 4k on my PC with scaled dpi to 225%.

Thanks for reporting this bug so I can wait until is fixed.

Thank you very much.

Kind regards

Alessandro Marinuzzi

Inviato da smartphone Samsung Galaxy Note 10+

--
You received this message because you are subscribed to the Google Groups "innosetup" group.
To unsubscribe from this group and stop receiving emails from it, send an email to innosetup+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/innosetup/1903406413.20240609124035%40eternallybored.org.

Martijn Laan

unread,
Jun 10, 2024, 8:24:14 AMJun 10
to innosetup
Redownload the official version from https://jrsoftware.org/download.php/is.exe and then it should be fixed.

Greetings,
Martijn

Op maandag 10 juni 2024 om 14:23:01 UTC+2 schreef audio boy:

Martijn Laan

unread,
Jun 10, 2024, 8:25:10 AMJun 10
to innosetup
Redownload the official version from https://jrsoftware.org/download.php/is.exe and then it should be fixed.

Greetings,
Martijn

Op maandag 10 juni 2024 om 14:23:12 UTC+2 schreef alec...@gmail.com:

Alexey S.

unread,
Jun 10, 2024, 8:54:23 AMJun 10
to innosetup
I just re-downloaded Inno Setup 6.3. from that link, however it still shows the same build as the one that failed with "Too many colors" error (SHA256 hash: CAAAAF91D43B2878BBB63AE90AA2F0E144B5EC85A75F19E423E4FC4DDC52E157).

Martijn Laan

unread,
Jun 10, 2024, 10:50:46 AMJun 10
to innosetup
Thanks for testing. I have improved the workaround and I think it should now always work regardless of DPI. Please try this build:
https://files.jrsoftware.org/is/6/innosetup-6.3.1.exe

Greetings,
Martijn

Op maandag 10 juni 2024 om 14:54:23 UTC+2 schreef Alexey S.:

Alexey S.

unread,
Jun 10, 2024, 11:41:48 AMJun 10
to innosetup
I can confirm that Inno Setup 6.3.1 fixed the issue with "Too many colors." error.

--
Regards,
Alexey

Martijn Laan

unread,
Jun 10, 2024, 3:22:48 PMJun 10
to innosetup
Great, thanks!

Greetings,
Martijn

Op maandag 10 juni 2024 om 17:41:48 UTC+2 schreef Alexey S.:

Andrew Truckle

unread,
Jun 10, 2024, 4:23:33 PMJun 10
to innosetup
Thanks for the new version. 👍

Alessandro Marinuzzi

unread,
Jun 10, 2024, 4:37:58 PMJun 10
to inno...@googlegroups.com
Thanks. I'll try the new version as soon as possible. At the moment I'm away.

Kind regards.

Alessandro

Inviato da smartphone Samsung Galaxy Note 10+

Ian Nicholson

unread,
Jun 11, 2024, 11:46:19 AMJun 11
to innosetup
Awesome to see Inno Setup still supported! Does anyone use Inno Script Studio and has tried the new version with it? Any issues to know about?

Alex Born

unread,
Jun 11, 2024, 12:17:36 PMJun 11
to innosetup
Please, update the LZMA compressor. 
Inno Setup uses a version from 2010 and it has been outdated for a long time!

вторник, 11 июня 2024 г. в 17:46:19 UTC+2, Ian Nicholson:

José Gonçalves

unread,
Jun 14, 2024, 11:14:07 AMJun 14
to innosetup
Thanks a lot for this version and the upcoming ones! 🚀
May I suggest to add in the Help menu the "traditional" Check for Updates sub-menu, with maybe an option to check at each Inno Setup startup.😉
Keep up the great work! 

Martijn Laan

unread,
Jun 14, 2024, 7:37:57 PMJun 14
to innosetup
Hi,

Thanks José, glad you like it!

I do not plan to add any auto update functionality to the IDE but do note Inno Setup is available from winget.

Greetings,
Martijn

Op vrijdag 14 juni 2024 om 17:14:07 UTC+2 schreef José Gonçalves:

José Gonçalves

unread,
Jun 19, 2024, 3:48:22 AMJun 19
to innosetup
Hi Martijn,

Not necessarily the actual auto-update functionality, but at least the functionality to Check for Updates... as in Visual Studio Code, ILSpy...

Thanks
Keep up the great work!

Tommi Prami

unread,
Jun 21, 2024, 12:48:32 AMJun 21
to inno...@googlegroups.com
Inno Setup seems to update through Winget just fine... Not automatic but pretty close...

-Tee-

--
You received this message because you are subscribed to the Google Groups "innosetup" group.
To unsubscribe from this group and stop receiving emails from it, send an email to innosetup+...@googlegroups.com.

Andrew Truckle

unread,
Jun 21, 2024, 11:35:36 AMJun 21
to innosetup
I don't know what Winget is.

Alessandro Marinuzzi

unread,
Jun 21, 2024, 2:55:56 PMJun 21
to inno...@googlegroups.com

In Python we could have a code like this:

import requests

# Local app version
local_version = 630  # This is the version of your local app

# Function to read the remote text file
def fetch_site_version(url):
    try:
        response = requests.get(url)
        response.raise_for_status()
        site_version = int(response.text.strip())
        return site_version
    except requests.RequestException as e:
        print(f"Error fetching the text file: {e}")
        return None

# Function to compare versions
def check_version(site_version, local_version):
    if site_version > local_version:
        print("A new update is available")
    else:
        print("Your version is up to date")

# URL of the remote text file
version_file_url = 'https://your-site.com/version.txt'

# Execute the version check
site_version = fetch_site_version(version_file_url)
if site_version is not None:
    check_version(site_version, local_version)
else:
    print("Unable to fetch the version from the site")

It could be more safe, this is only a idea.

If you want a javascript version:

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Version Check</title>

</head>

<body>

    <div id="message"></div>


    <script>

        // Local app version

        let localVersion = 630; // This is the version of your local app


        // Function to read the remote text file

        async function fetchSiteVersion(url) {

            try {

                let response = await fetch(url);

                if (!response.ok) {

                    throw new Error('Error fetching the text file');

                }

                let siteVersion = await response.text();

                return parseInt(siteVersion.trim(), 10);

            } catch (error) {

                console.error('Error:', error);

                return null;

            }

        }


        // Function to compare versions

        function checkVersion(siteVersion, localVersion) {

            let message = document.getElementById('message');

            if (siteVersion > localVersion) {

                message.textContent = "A new update is available";

            } else {

                message.textContent = "Your version is up to date";

            }

        }


        // URL of the remote text file

        let versionFileUrl = 'https://your-site.com/version.txt';


        // Execute the version check

        fetchSiteVersion(versionFileUrl).then(siteVersion => {

            if (siteVersion !== null) {

                checkVersion(siteVersion, localVersion);

            } else {

                document.getElementById('message').textContent = "Unable to fetch the version from the site";

            }

        });

    </script>

</body>

</html>

Only only an idea...

On server is sufficient to put a text file with the version without dots.

Example: for version 6.3.1 put 631.

Kind regards

Alessandro

Inviato da smartphone Samsung Galaxy Note 10+

Edward Mendelson

unread,
Jun 23, 2024, 11:06:02 AM (12 days ago) Jun 23
to innosetup
Inno Script Studio seems to work perfectly with the new version. Also, I don't pretend to understand this, but with the previous Inno Setup version, Inno Script Studio locked up when running one of my scripts from inside the Inno Script Studio IDE (apparently in the stage where it created directories). This doesn't happen with the latest version of Inno Setup, so this is (for me at least) a useful improvement.
Reply all
Reply to author
Forward
0 new messages