Mengapa Windows 10 mengembalikan nomor versi 6.3?


8

Pada Windows 10, kode VB.NET Environment.OS.VersionStringmenghasilkan Microsoft Windows NT 6.3.9600.0. Menurut dokumentasi Microsoft , nomor versi Windows 10 adalah 10.0, jadi mengapa VB.NET mengenali Windows 10 sebagai Windows 8.1?

Saya lakukan systeminfo | findstr /C:"OS"di Command Prompt dan mengembalikan nilai yang benar di 10.0.10240 N/A Build 10240bawah "Versi OS".


2
Karena itu mengambil fakta bahwa Anda memutakhirkan dari Windows 8.1. Metode yang Anda gunakan melihat registri. Ini berfungsi sebagaimana dimaksud. Ada fungsi yang lebih tepat daripada menggunakan variabel lingkungan untuk menentukan sistem operasi apa yang digunakan. Saya tidak dapat memberikan kode karena ini bukan Stackoverflow
Ramhound

1
Seseorang mengalami masalah yang sama dalam komentar di sini: msdn.microsoft.com/en-us/library/windows/desktop/… Anda perlu memperbarui manifes untuk aplikasi Anda.
MC10

Anda juga salah menggunakannya. Ini seharusnya berakhir di Stackoverflow karena ini merupakan masalah pengkodean dan meskipun saya curiga menggunakan variabel lingkungan masih merupakan cara yang salah untuk melakukannya, file manifes, jelas tidak benar.
Ramhound

@ Ramhound Ya, saya pikir itu mungkin terjadi. Saya tahu bahwa setelah satu bulan memutakhirkan ke Windows 10, Windows 8.1 dihapus - apakah itu berarti nomor versi akan benar?
Dog Lover

Nomor versi sudah benar. Seperti yang saya katakan dia metode penggunaan Anda adalah membaca registri, yang tidak diperbarui, dan tidak akan diperbarui kecuali itu adalah instalasi Windows 10. Bersih. Lakukan tugas ini dengan cara yang berbeda, dengan kata lain, jangan gunakan variabel lingkungan.
Ramhound

Jawaban:


3

Karena itu mengambil fakta bahwa Anda memutakhirkan dari Windows 8.1. Metode yang Anda gunakan melihat registri. Ini berfungsi sebagaimana dimaksud. Ada fungsi yang lebih tepat daripada menggunakan variabel lingkungan untuk menentukan sistem operasi apa yang digunakan. Saya tidak dapat memberikan kode karena ini bukan Stackoverflow

- Ramhound 26 Agustus jam 1:12

Singkatnya, jawabannya. Selama upgrade, registri tidak mengubah nomor build dari yang lama ke yang baru. Itu hanya menempel.


2
Dengan kata lain, upgrade tidak berfungsi dengan baik ... Yah, tidak ada yang baru di barat;)
Quandary

0

Jadi, untuk kembali ke pertanyaan root ... Saya menggunakan Windows Management Instrumentation (WMI) untuk menghasilkan nomor versi Windows dengan cara yang Anda harapkan. Sebagai contoh, ini melaporkan 10.0.10586

Berikut ini cuplikan kode singkat

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

Itu karena Anda membaca CurrentVersiondari HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersiondan, seperti yang telah dikatakan, entri itu tidak mendapatkan perubahan terbaru dengan pembaruan Windows.

Entri yang akan diperiksa adalah CurrentMajorVersionNumber, CurrentMinorVersionNumberdan CurrentBuildNumber, dengan kunci yang sama.


-1

6.3 adalah versi internal Windows, yang mengungkapkan bahwa sejak Windows 7, belum ada rilis besar, yang bertentangan dengan apa yang Microsoft ingin Anda yakini. Nama-nama Windows 7, 8, 10, dll. Hanyalah nama pemasaran. Mereka memutuskan untuk melewati 9 untuk mencocokkan Mac OS X. Tetapi nomor versi sebenarnya adalah 6.3


1
Ada banyak alasan mengapa mereka melompati v9 (alasan yang sangat rapi adalah bahwa banyak aplikasi lawas akan melihat versi 9 dan secara keliru mengira OS itu adalah Windows 95/98 - tetapi saya tidak berpikir mereka pernah mengonfirmasi atau menyangkal bahwa ). Yang mengatakan, cobalah untuk menahan diri dari spekulasi acak dalam jawaban Anda - sumber yang terbaik :)
Mikey TK

-1

Saya menginstal Windows 10 (edisi ulang tahun 1607) dari awal dan entri registri versi saat ini juga melaporkan 6,3, tetapi, misalnya, laporan 'ver' 10.0.14393

BTW 1) Saya membaca bahwa pratinjau Windows 10 adalah 6.4

BTW 2) ​​Saya menginstal Windows 10 sebagai Hyper-V VM pada Windows Server 2012 R2, tapi saya tidak berpikir ini ada hubungannya dengan itu.


"Saya membaca bahwa pratinjau windows 10 adalah 6,4" - Anda salah membaca. Ini adalah komentar, itu tidak menjawab pertanyaan penulis, jika Anda ingin meninggalkan komentar, dapatkan poin reputasi yang diperlukan untuk melakukannya.
Ramhound
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.