Di mana menemukan tingkat paket layanan Vista?

4

Ketika versi paket layanan Vista berada di level 1 (SP1), nomor versi ini ditampilkan di "Control Panel / System" . Namun, pada sistem saya informasi ini telah hilang, mungkin karena saya sekarang menggunakan SP2. Saya ingin memverifikasi ini, jadi saya bisa yakin.

Kesimpulan : Berkat Ivo saya menemukan pengaturan registri yang menyimpan nomor versi paket layanan. Karena saya (secara keliru) yakin bahwa saya telah menginstal paket layanan, dan karena "CSDBuildNumber" adalah 2 pada sistem saya, saya melakukan riset tentang info dalam registri. Inilah hasilnya:

Gambar Windows Vista segar tanpa SP:

  • CSDBuildNumber: 2
  • CSDVersion tidak ada

Gambar Windows Vista segar dengan SP1:

  • CSDBuildNumber: 1616
  • CSDVersion: Paket Layanan 1

Gambar Windows Vista segar dengan SP2:

  • CSDBuildNumber: 1621
  • CSDVersion: Paket Layanan 2

Jadi memang, masalah saya adalah - bertentangan dengan apa yang saya yakini - saya tidak memiliki paket layanan yang diinstal. Dengan demikian, dialog "Panel Kontrol / Sistem" dapat dipercaya .

Dimitri C.
sumber

Jawaban:

2

Lihatlah entri registri ini:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ CSDBuildNumber

Lihat artikel ini untuk apa (terima kasih atas komentarnya)

Ivo Flipse
sumber
Ya! Versi paket layanan dapat ditemukan di: "HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ CSDBuildNumber". Harap perbarui jawaban Anda, dan saya akan "menerimanya".
Dimitri C.
Demi kelengkapan, saya menemukan konfirmasi tingkat paket CSDBuildNumber-berarti-layanan-paket di: blogs.dirteam.com/blogs/sanderberkouwer/archive/2007/11/02/…
Dimitri C.
Terima kasih banyak atas bantuan Anda. Pada akhirnya, kesimpulan saya adalah bahwa saya tidak memiliki paket layanan yang diinstal.
Dimitri C.
Setelah menyelesaikan tes saya sendiri, "CSDBuildNumber = 2" tampaknya berarti bahwa tidak ada paket layanan yang diinstal. Sebaliknya, bidang "CSDVersion" berisi versi SP (sebagai string), tetapi bidang ini tidak ada jika tidak ada paket layanan yang diinstal.
Dimitri C.
4

Jalankan winverdari kotak ketik-in mulai menu (atau di mana pun Anda dapat menjalankan perintah sewenang-wenang).

Utilitas kecil ini membuka kotak pesan yang mencantumkan versi Windows saat ini dan tingkat paket layanan.

David Spillett
sumber
Hmmm yang tampaknya berfungsi, meskipun pada Windows 7 tentunya tidak ada garis yang menyebutkan kurangnya "paket layanan" ...
Ivo Flipse
Di sistem saya, dialog sembulan hanya mengatakan: "versi 6.0 (Build 6000)". Tidak ada versi paket layanan yang disebutkan: s
Dimitri C.
@ lvo: Benar. Jika tidak ada paket layanan yang diinstal, tidak ada paket layanan yang tercantum dalam info versi (daripada secara eksplisit menyatakan "tidak ada paket layanan").
David Spillett
3
@ Demitry: Maka tidak ada paket layanan yang diinstal (atau ada sesuatu yang salah dan utilitas tidak dapat melihat fakta bahwa paket layanan sebenarnya telah diinstal). Mesin saya saat ini pada laporan Versi 6.0 (Build 6002: Service Pack 2), dan membawa logo Vista di gambar atas kotak.
David Spillett
Terima kasih atas komentar Anda bahwa saya tidak memiliki paket layanan yang diinstal. Tampaknya benar :-)
Dimitri C.
1

Jawaban saya (jawaban yang tepat ), untuk anak cucu:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows\CSDVersion (a REG_DWORD)

Nilai tingkat Paket Layanan (jika ada) diperoleh dengan melakukan CSDVersion >> 8mis. Menggeser CSDVersion REG_DWORD sebanyak 8 bit; misalnya REG_DWORD nilai akan 0x100untuk SP1, 0x200SP2, dan sebagainya.

Ini berfungsi untuk versi Windows sepanjang perjalanan kembali ke NT4, dan merupakan cara yang disukai Microsoft untuk mendapatkan level SP sebelum pengenalan struktur OSVERSIONINFOEX , sebagaimana diuraikan dalam Persyaratan Dasar Windows [1], khususnya persyaratan " 7. Melakukan Pengecekan Versi Windows Benar "(lihat tautan referensi di bawah untuk detail lebih lanjut)

[1] Referensi: http://msdn.microsoft.com/en-us/library/ms954375.aspx

johnwait
sumber