¿Por qué Windows 10 devuelve el número de versión 6.3?


8

En Windows 10, el código VB.NET Environment.OS.VersionStringsalidas Microsoft Windows NT 6.3.9600.0. Según la documentación de Microsoft , el número de versión de Windows 10 es 10.0, entonces, ¿por qué VB.NET reconoce Windows 10 como Windows 8.1?

Lo hice systeminfo | findstr /C:"OS"en el símbolo del sistema y me devolvió el valor correcto de 10.0.10240 N/A Build 10240"Versión del sistema operativo".


2
Porque está recogiendo el hecho de que actualizaste desde Windows 8.1. El método que está utilizando es mirar el registro. Está funcionando según lo previsto. Hay una función más apropiada que usar la variable de entorno para determinar qué sistema operativo se está utilizando. No puedo proporcionar el código ya que esto no es
Stackoverflow

1
Alguien experimentó el mismo problema en los comentarios aquí: msdn.microsoft.com/en-us/library/windows/desktop/… Necesita actualizar el manifiesto de su aplicación.
MC10

También lo estás usando mal. Esto debería haber terminado en Stackoverflow ya que es un problema de codificación y aunque sospecho que usar la variable de entorno sigue siendo la forma incorrecta de hacerlo, el archivo de manifiesto, claramente no está bien.
Ramhound

@Ramhound Sí, pensé que ese podría haber sido el caso. Sé que después de un mes de actualización a Windows 10, se elimina Windows 8.1, ¿eso significa que el número de versión será correcto?
Dog Lover

El número de versión es correcto. Como dije, el método que está usando es leer el registro, que no se actualizó y no se actualizaría a menos que fuera una instalación limpia de Windows 10. Realice esta tarea de una manera diferente, en otras palabras, no use La variable ambiental.
Ramhound

Respuestas:


3

Porque está recogiendo el hecho de que actualizaste desde Windows 8.1. El método que está utilizando es mirar el registro. Está funcionando según lo previsto. Hay una función más apropiada que usar la variable de entorno para determinar qué sistema operativo se está utilizando. No puedo proporcionar código ya que esto no es Stackoverflow

- Ramhound 26 de agosto a las 1:12

Esa es la respuesta en pocas palabras. Durante la actualización, el registro no cambia el número de compilación del antiguo al nuevo. Simplemente se pega.


2
En otras palabras, la actualización no funciona correctamente ... Bueno, nada nuevo en el oeste;)
Dilema

0

Entonces, para volver a la pregunta raíz ... Utilizo el Instrumental de administración de Windows (WMI) para generar el número de versión de Windows de la manera que espera. Por ejemplo, informa 10.0.10586

Aquí hay un fragmento de código corto

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

Eso es porque estabas leyendo CurrentVersiondeHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion y, como ya se ha dicho, que la entrada no consigue el cambio con las actualizaciones de Windows actualizado.

Las entradas para verificar son CurrentMajorVersionNumber, CurrentMinorVersionNumbery CurrentBuildNumber, en la misma clave.


-1

6.3 es la versión interna de Windows, que revela que desde Windows 7, no ha habido lanzamientos importantes, al contrario de lo que Microsoft quiere que creas. Los nombres de Windows 7, 8, 10, etc. son solo nombres de marketing. Decidieron omitir 9 para que coincida con Mac OS X. Pero el número de versión real es 6.3


1
Hay muchas razones diferentes por las que omitieron la v9 (una particularmente interesante fue que muchas aplicaciones heredadas verían la 9 y pensarían erróneamente que el sistema operativo era Windows 95/98, pero no creo que hayan confirmado o negado eso alguna vez ) Dicho esto, intenta abstenerte de la especulación aleatoria en tus respuestas - las fuentes son las mejores :)
Mikey TK

-1

Instalé Windows 10 (edición de aniversario 1607) desde cero y la entrada del registro de versión actual también informa 6.3, pero, por ejemplo, 'ver' informa 10.0.14393

Por cierto 1) leí que la vista previa de Windows 10 era 6.4

Por cierto 2) instalé Windows 10 como una máquina virtual Hyper-V en Windows Server 2012 R2, pero no creo que esto tenga que ver con eso.


"Leí que la vista previa de Windows 10 era 6.4" - Has leído mal. Este es un comentario, no responde a la pregunta del autor, si desea dejar un comentario, gane el punto de reputación requerido para hacerlo.
Ramhound
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.