Search code examples
windowsinstallationinno-setupwindows-10

Inno Setup: MinVersion not working for Windows 10


As specified here:
http://www.jrsoftware.org/ishelp/topic_winvernotes.htm

I'm using this:

MinVersion=10.0.10240

However, when I try to run my setup on Windows 10, it says this:

This program does not support the version of Windows your computer is running.

Why? Is this a bug around Inno Setup?

I've verified that I've installed the 10240 build, with ver and systeminfo commands on cmd:

Z:\Desktop>ver

Microsoft Windows [Versión 10.0.10240]

Note that I'm testing this in a Virtual Machine.


Solution

  • As @TLama commented, I'd say that you are using an old version of Inno Setup (pre 5.5.6).


    With Inno Setup 5.5.6:

    2015-08-07 14:44:33.588   Setup version: Inno Setup version 5.5.6 (u)
    ...
    2015-08-07 14:44:33.588   Windows version: 10.0.10240  (NT platform: Yes)
    ...
    2015-08-07 14:44:59.745   Installation process succeeded.
    

    The same installer compiled with Inno Setup 5.5.5:

    2015-08-07 14:46:42.354   Setup version: Inno Setup version 5.5.5 (u)
    ...
    2015-08-07 14:46:42.354   Windows version: 6.3.9600  (NT platform: Yes)
    ...
    2015-08-07 14:46:42.354   Message box (OK):
                              This program does not support the version of Windows your computer is running.
    2015-08-07 14:46:44.026   User chose OK.
    2015-08-07 14:46:44.026   Got EAbort exception.
    2015-08-07 14:46:44.026   Deinitializing Setup.
    2015-08-07 14:46:44.026   Log closed.
    

    Both for a trivial installer like:

    [Setup]
    AppName=My Program
    AppVersion=1.5
    DefaultDirName={pf}\My Program
    MinVersion=10.0.10240
    

    The difference is caused by this change:
    https://github.com/jrsoftware/issrc/commit/9402b5c9a463cfe7618341011cc5b65ffc968ccd

    As documented in the Inno Setup revision history for 5.5.6:

    Added the Windows 10 "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 (10.0) instead of getting the same version number as it did in Windows 8.1 (6.3).