Perché Windows 10 restituisce la versione numero 6.3?


8

In Windows 10, il codice VB.NET Environment.OS.VersionStringuscite Microsoft Windows NT 6.3.9600.0. Secondo la documentazione Microsoft , il numero di versione di Windows 10 è 10.0, quindi perché VB.NET riconosce Windows 10 come Windows 8.1?

Ho fatto systeminfo | findstr /C:"OS"nel prompt dei comandi e ha restituito il valore corretto di 10.0.10240 N/A Build 10240"Versione del sistema operativo".


2
Perché sta rilevando il fatto che hai aggiornato da Windows 8.1. Il metodo che stai usando è guardare il registro. Funziona come previsto. Esiste una funzione più appropriata che utilizza la variabile di ambiente per determinare quale sistema operativo viene utilizzato. Non riesco a fornire il codice poiché questo non è StackOverflow
Ramhound,

1
Qualcuno ha riscontrato lo stesso problema nei commenti qui: msdn.microsoft.com/en-us/library/windows/desktop/… È necessario aggiornare il manifest per l'applicazione.
MC10,

Lo stai usando anche male. Questo dovrebbe essere finito su Stackoverflow dal momento che è un problema di codifica e anche se sospetto che l'uso della variabile d'ambiente sia ancora il modo sbagliato di farlo, il file manifest, chiaramente non è giusto.
Ramhound,

@Ramhound Sì, ho pensato che sarebbe potuto essere il caso. So che dopo un mese di aggiornamento a Windows 10, Windows 8.1 viene rimosso - significa che il numero di versione sarà corretto?
Amante dei cani,

Il numero di versione è corretto. Come ho detto, il metodo che stai usando sta leggendo il registro, che non è stato aggiornato e non verrebbe aggiornato se non fosse un'installazione pulita di Windows 10. Procedi in questo modo in un modo diverso, in altre parole, non usare la variabile ambientale.
Ramhound,

Risposte:


3

Perché sta rilevando il fatto che hai aggiornato da Windows 8.1. Il metodo che stai usando è guardare il registro. Funziona come previsto. Esiste una funzione più appropriata che utilizza la variabile di ambiente per determinare quale sistema operativo viene utilizzato. Non riesco a fornire il codice poiché questo non è StackOverflow

- Ramhound, 26 agosto alle 1:12

Questa è la risposta in breve. Durante l'aggiornamento, il registro non modifica il numero di build dal vecchio al nuovo. Si attacca e basta.


2
In altre parole, l'aggiornamento non funziona correttamente ... Beh, niente di nuovo in Occidente;)
Quandary

0

Quindi, per tornare alla domanda principale ... Uso Windows Management Instrumentation (WMI) per generare il numero di versione di Windows nel modo previsto. Ad esempio, riporta 10.0.10586

Ecco uno snippet di codice breve

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

0

Questo perché si stavano leggendo CurrentVersionda HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersione, come è già stato detto, che l'ingresso non viene aggiornato il cambiamento con gli aggiornamenti di Windows.

Le voci da controllare sono CurrentMajorVersionNumber, CurrentMinorVersionNumbere CurrentBuildNumber, nella stessa tonalità.


-1

6.3 è la versione interna di Windows, che rivela che da Windows 7 non ci sono state versioni principali, contrariamente a quanto Microsoft vuole farti credere. I nomi di Windows 7, 8, 10, ecc. Sono solo nomi commerciali. Hanno deciso di saltare 9 per abbinare Mac OS X. Ma il numero di versione reale è 6.3


1
Ci sono molti motivi diversi per cui hanno saltato v9 (uno particolarmente pulito era che molte app legacy vedevano il 9 e erroneamente pensano che il sistema operativo fosse Windows 95/98 - ma non credo che abbiano mai confermato o negato che ). Detto questo, cerca di astenersi da speculazioni casuali nelle tue risposte - le fonti sono le migliori :)
Mikey TK

-1

Ho installato Windows 10 (anniversario edizione 1607) da zero e anche la voce del registro di Currentversion riporta 6.3, ma, ad esempio, 'ver' riporta 10.0.14393

A proposito 1) Ho letto che l'anteprima di Windows 10 era 6.4

A proposito 2) Ho installato Windows 10 come Hyper-V VM su Windows Server 2012 R2, ma non credo che questo abbia a che fare con esso.


"Ho letto che l'anteprima di Windows 10 era 6.4" - Hai letto male. Questo è un commento, non risponde alla domanda dell'autore, se desideri lasciare un commento guadagna il punto di reputazione richiesto per farlo.
Ramhound,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.