Warum gibt Windows 10 die Versionsnummer 6.3 zurück?

8

Unter Windows 10 wird der VB.NET-Code Environment.OS.VersionStringausgegeben Microsoft Windows NT 6.3.9600.0. Laut Microsoft-Dokumentation lautet die Versionsnummer von Windows 10. 10.0Warum erkennt VB.NET Windows 10 als Windows 8.1?

Ich habe systeminfo | findstr /C:"OS"in Eingabeaufforderung und es gab den korrekten Wert von 10.0.10240 N/A Build 10240unter "OS-Version" zurück.

Hundeliebhaber
quelle
2
Weil es die Tatsache aufgreift, dass Sie ein Upgrade von Windows 8.1 durchgeführt haben. Die Methode, die Sie verwenden, ist die Registrierung. Es funktioniert wie vorgesehen. Es gibt eine geeignetere Funktion als die Verwendung der Umgebungsvariablen, um zu bestimmen, welches Betriebssystem verwendet wird. Ich kann keinen Code bereitstellen, da dies kein Stackoverflow ist
Ramhound
1
In den Kommentaren hier ist das gleiche Problem aufgetreten : msdn.microsoft.com/en-us/library/windows/desktop/… Sie müssen das Manifest für Ihre Anwendung aktualisieren.
MC10
Sie verwenden es auch falsch. Dies sollte bei Stackoverflow vorbei sein, da es sich um ein Codierungsproblem handelt. Obwohl ich vermute, dass die Verwendung der Umgebungsvariablen immer noch der falsche Weg ist, ist die Manifestdatei eindeutig nicht richtig.
Ramhound
@ Ramhound Ja, ich dachte, das könnte der Fall gewesen sein. Ich weiß, dass Windows 8.1 nach einem Monat Upgrade auf Windows 10 entfernt wird. Bedeutet das, dass die Versionsnummer korrekt ist?
Hundeliebhaber
Die Versionsnummer ist korrekt. Wie ich bereits sagte, liest er die Registrierung, die nicht aktualisiert wurde und nur aktualisiert werden würde, wenn es sich um eine Neuinstallation von Windows 10 handelt. Gehen Sie bei dieser Aufgabe anders vor, verwenden Sie sie also nicht die Umgebungsvariable.
Ramhound

Antworten:

3

Weil es die Tatsache aufgreift, dass Sie ein Upgrade von Windows 8.1 durchgeführt haben. Die Methode, die Sie verwenden, ist die Registrierung. Es funktioniert wie vorgesehen. Es gibt eine geeignetere Funktion als die Verwendung der Umgebungsvariablen, um zu bestimmen, welches Betriebssystem verwendet wird. Ich kann keinen Code bereitstellen, da dies kein Stackoverflow ist

- Ramhound 26. August um 1:12

Das ist die Antwort auf den Punkt gebracht. Während des Upgrades ändert die Registrierung die Build-Nummer nicht von der alten in die neue. Es klebt einfach.

RookieTEC9
quelle
2
Mit anderen Worten, das Upgrade funktioniert nicht richtig ... Nun, nichts Neues im Westen;)
Quandary
0

Um auf die Grundfrage zurückzukommen ... Ich verwende Windows Management Instrumentation (WMI), um die Windows-Versionsnummer in der von Ihnen erwarteten Weise zu generieren. Beispielsweise wird 10.0.10586 gemeldet

Hier ist ein Kurzcode-Snippet

Public Class OS

' Use Windows Management Instrumentation (WMI) to get the OS version
    Public Shared Function GetOSVersion() As String
        Dim answer As String = ""

        ' add Imports System.Management and add a resource to System.Management
        Dim osClass As New ManagementClass("Win32_OperatingSystem")
        For Each queryObj As ManagementObject In osClass.GetInstances()
            answer = DirectCast(queryObj.GetPropertyValue("Version"), String)
        Next

        Return answer
    End Function
End Class
egray
quelle
0

Das ist , weil Sie wurden Lesen CurrentVersionaus HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersionund hat , wie bereits gesagt wurde, ist dieser Eintrag nicht mit Windows - Updates aktualisiert Änderung erhalten.

Die Eingaben zu überprüfen sind CurrentMajorVersionNumber, CurrentMinorVersionNumberund CurrentBuildNumberin der gleichen Tonart.

Nuno André
quelle
-1

6.3 ist die interne Version von Windows, aus der hervorgeht, dass es seit Windows 7 keine größeren Versionen mehr gibt, im Gegensatz zu dem, was Microsoft von Ihnen erwartet. Die Namen Windows 7, 8, 10 usw. sind nur Marketingnamen. Sie beschlossen, 9 zu überspringen, um Mac OS X zu entsprechen. Die tatsächliche Versionsnummer lautet jedoch 6.3

user319563
quelle
1
Es gibt viele verschiedene Gründe, warum sie v9 übersprungen haben (ein besonders netter Grund war, dass viele ältere Apps die 9 sehen und fälschlicherweise glauben, das Betriebssystem sei Windows 95/98 - aber ich glaube nicht, dass sie dies jemals bestätigt oder geleugnet haben ). Das heißt, versuchen Sie, zufällige Spekulationen in Ihren Antworten zu unterlassen - Quellen sind am besten :)
Mikey TK
-1

Ich habe Windows 10 (Jubiläumsausgabe 1607) von Grund auf neu installiert und der Registrierungseintrag für die aktuelle Version meldet auch 6.3, aber zum Beispiel 'ver' meldet 10.0.14393

Übrigens 1) Ich habe gelesen, dass die Windows 10-Vorschau 6.4 war

Übrigens 2) Ich habe Windows 10 als Hyper-V-VM unter Windows Server 2012 R2 installiert, glaube aber nicht, dass dies etwas damit zu tun hat.

Theo Vroom
quelle
"Ich habe gelesen, dass die Windows 10-Vorschau 6.4 war" - Sie haben falsch gelesen. Dies ist ein Kommentar, der die Frage des Autors nicht beantwortet. Wenn Sie einen Kommentar hinterlassen möchten, erhalten Sie den dafür erforderlichen Reputationspunkt.
Ramhound