Por que o Windows 10 retorna o número da versão 6.3?

8

No Windows 10, o código VB.NET é Environment.OS.VersionStringgerado Microsoft Windows NT 6.3.9600.0. De acordo com a documentação da Microsoft , o número da versão do Windows 10 é 10.0, então por que o VB.NET reconhece o Windows 10 como Windows 8.1?

Eu fiz systeminfo | findstr /C:"OS"no prompt de comando e ele retornou o valor correto 10.0.10240 N/A Build 10240em "Versão do SO".

Amante de cães
fonte
2
Porque está percebendo o fato de você ter atualizado do Windows 8.1. O método que você está usando está olhando para o registro. Está funcionando como pretendido. Há uma função mais apropriada do que usar a variável de ambiente para determinar qual sistema operacional está sendo usado. Eu não posso fornecer o código uma vez que este não é Stackoverflow
Ramhound
1
Alguém teve o mesmo problema nos comentários aqui: msdn.microsoft.com/en-us/library/windows/desktop/… Você precisa atualizar o manifesto para o seu aplicativo.
MC10 26/08/15
Você também está usando errado. Isso deve terminar no Stackoverflow, pois é um problema de codificação e, embora eu suspeite que o uso da variável de ambiente ainda seja o caminho errado, o arquivo de manifesto claramente não está certo.
Ramhound 26/08/15
@ Ramhound Sim, eu pensei que poderia ter sido o caso. Sei que após um mês de atualização para o Windows 10, o Windows 8.1 é removido - isso significa que o número da versão estará correto?
Dog Lover
O número da versão está correto. Como eu disse, o método que você usa está lendo o registro, que não foi atualizado e não seria atualizado a menos que fosse uma instalação limpa do Windows 10. Execute essa tarefa de uma maneira diferente, ou seja, não use a variável ambiental.
Ramhound 26/08/15

Respostas:

3

Porque está percebendo o fato de você ter atualizado do Windows 8.1. O método que você está usando está olhando para o registro. Está funcionando como pretendido. Há uma função mais apropriada do que usar a variável de ambiente para determinar qual sistema operacional está sendo usado. Não posso fornecer código, pois esse não é o Stackoverflow

- Ramhound 26 de agosto às 1:12

Essa é a resposta em poucas palavras. Durante a atualização, o registro não altera o número da compilação da antiga para a nova. Apenas gruda.

RookieTEC9
fonte
2
Em outras palavras, a atualização não funciona corretamente ... Bem, nada de novo no oeste;)
Dilema 8/16
0

Portanto, voltando à questão raiz ... Uso o WMI (Instrumentação de Gerenciamento do Windows) para gerar o número da versão do Windows da maneira que você espera. Por exemplo, ele relata 10.0.10586

Aqui está um trecho de código curto

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
fonte
0

Isso é porque você estava lendo CurrentVersiona partir HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersione, como já foi dito, que a entrada não fica mudança com atualizações do Windows atualizados.

As entradas para verificar se CurrentMajorVersionNumber, CurrentMinorVersionNumbere CurrentBuildNumber, na mesma chave.

Nuno André
fonte
-1

6.3 é a versão interna do Windows, que revela que, desde o Windows 7, não houve grandes lançamentos, ao contrário do que a Microsoft quer que você acredite. Os nomes Windows 7, 8, 10 etc. são apenas nomes de marketing. Eles decidiram pular 9 para combinar com o Mac OS X. Mas o número da versão real é 6.3

user319563
fonte
1
Existem muitas razões diferentes para o fato de terem pulado a v9 (uma particularmente interessante foi que muitos aplicativos herdados veriam o 9 e pensariam erroneamente que o sistema operacional era o Windows 95/98 - mas acho que nunca confirmaram ou negaram que ) Dito isto, tentar abster-se de especulação aleatória em suas respostas - fontes são melhor :)
Mikey TK
-1

Instalei o Windows 10 (edição de aniversário 1607) a partir do zero e a entrada do registro currentversion também relata 6.3, mas, por exemplo, os relatórios 'ver' 10.0.14393

BTW 1) Li que a pré-visualização do Windows 10 era 6.4

BTW 2) ​​Instalei o Windows 10 como uma VM Hyper-V no Windows Server 2012 R2, mas acho que isso não tem nada a ver com isso.

Theo Vroom
fonte
"Eu li que a visualização do Windows 10 era 6.4" - Você leu errado. Este é um comentário, não responde à pergunta do autor. Se você deseja deixar um comentário, obtenha o ponto de reputação exigido para isso.
Ramhound