Skip to content
⌘ NSIS Forum Archive

Checking for Windows 8 - could it be 6.2 OR 6.3 ?

5 posts

Bansaw#

Checking for Windows 8 - could it be 6.2 OR 6.3 ?

In the CurrentVersion I'm looking at the value to see what version of Windows I'm running on.

Can Windows 8 be version 6.2 or version 6.3 (or even above)?
Anders#
Windows 8 is 6.2 and 8.1 is 6.3 if you are using the NSIS 3 alpha. For 2.46 Windows is going to lie and tell you the version is 6.2.

Why do you think you need to treat 8.1 differently than 8.0?
Bansaw#
Thanks, I odn't need to treat it differently, I just wanted to update the function GetWindowsVersion to show this:
StrCmp $R1 '6.2' lbl_winnt_8
StrCmp $R1 '6.3' lbl_winnt_8 lbl_error
If my widows version is < XP I need to do something different.
LoRd_MuldeR#
Originally Posted by Bansaw View Post
Thanks, I odn't need to treat it differently, I just wanted to update the function GetWindowsVersion to show this:

If my widows version is < XP I need to do something different.
The problem is that, starting with Windows 8.1, Microsoft has changed the underlying GetVersionEx() API, from "return the actual installed Windows version" to "return (at most) the latest version that the calling application is known to work on, but no version above that".

Consequently, Windows 8.1 (NT 6.3) will pretend to be Windows 8.0 (NT 6.2) - unless you add a specific Manifest to your application which affirms that your application is "Windows 8.1 ready". That means that most applications that exist today will get a wrong version number on Windows 8.1! Also note that adding a "Windows 8.1" Manifest is only a temporary workaround, as your application will probably get wrong results again on a future Windows 8.2 or Windows 9.0. A proper workaround requires some more work, but is possible nevertheless...

See discussion here:
Are you a developer who uses NSIS to distribute your application? Are you a Winamp plug-in developer who wants to use NSIS to distribute your plug-in? Have suggestions for other people like you? This is the place.