Wer immer mal wissen wollte wie man die Windowsversion aus der Registry ausließt, hier die Info.
Ich musste ein wenig recherchieren, da es insbesondere ab Windows 11 etwas komplizierter wird. Man erhält so auch einen interessanten Einblick, welche Windowsversion sich wie stark verändert hat. Und ja, die Windowsversion ist nicht immer deckungsgleich mit der Zahl nach welcher manche Windowsversion benannt ist.
Fangen wir an mit den Dos-basierten Windowssystemen:
Hier ließt man die Versionsnummer unter folgenden RegistryKey:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\CurrentVersion
unter SubVersion kann man noch das Patchlevel ablesen.
4.0X | Windows 95 |
4.10.1998 | Windows 98 |
4.10.2222 | Windows 98SE |
4.90 | Windows ME |
Bei den NT-Systemen sieht es ein wenig komplizierter aus, zuerst die Systeme bis Windows 10:
Der RegistryKey ist hier:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentVersion
3.1 | Windows NT 3.1 |
3.5 | Windows NT 3.5 |
4.0 | Windows NT 4.0 |
5.0 | Windows 2000 |
5.1 | Windows XP |
6.0 | Windows Vista |
6.1 | Windows 7 |
6.2 | Windows 8 |
6.3 | Windows 8.1 |
Bei den neueren Systemen, bleibt der Key CurrentVersion einfach auf 6.3 stehen. Ursprünglich war für den Nachfolger von Windows 8.1 die interne Versionsnummer 6.4 vorgesehen, das hat man wohl, um die geänderte Releasepolitik deutlich zu machen marketingkonform auf 10 geändert. Microsoft wollte außerdem Inkompatibilitäten mit dem großen Versionssprung vermeiden. Die Firma geht zudem bei der Vergabe der Versionsnummern nun äußerst sparsam vor, Windows 11 hat es nämlich nicht mal auf eine MinorVersion gebracht (das hat es bei Windows98 SE das letzte mal gegeben).
Die RegistryKeys sind hier:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentMajorVersionNumber
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentMinorVersionNumber
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentBuild
Major und Minor sind nun als DWord gespeichert
CurrentMajorVersionNumber | CurrentMinorVersionNumber | CurrentBuild | Bezeichnung |
10 (0xa) | 0 (0x0) | 10000 - 19999 | Windows 10 |
10 (0xa) | 0 (0x0) | 20000 - 29999 | Windows 11 |
So, ich denke damit sollten alle Unklarheiten beseitigt sein. Habt Ihr noch fragen dazu, einfach in die Kommentare schreiben.
Als kleinen Schmankerl, habe ich hier noch ein Powershell Skript angehangen um die Windowsversion zu erkennen: