Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

When Vista's service pack version is at level 1 (SP1), this version number is shown at "Control Panel / System". However, on my system this information has disappeared, probably because I'm now using SP2. I'd like to verify this, so I can be certain.

Conclusion: Thanks to Ivo I found the registry settings that store the service pack version number. Because I was (incorrectly) convinced that I had installed a service pack already, and because the "CSDBuildNumber" was 2 on my system, I did some research about the info in the registry. Here are the results:

Fresh Windows Vista image without SP:

  • CSDBuildNumber: 2
  • CSDVersion is not present

Fresh Windows Vista image with SP1:

  • CSDBuildNumber: 1616
  • CSDVersion: Service Pack 1

Fresh Windows Vista image with SP2:

  • CSDBuildNumber: 1621
  • CSDVersion: Service Pack 2

So indeed, my problem was that - contrary to what I believed - I had no service pack installed. Thus, the "Control Panel / System" dialog can be trusted.

share|improve this question
up vote 2 down vote accepted

Have a look at this registry entry:

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

Check this article on what it's for (thanks for the comments)

share|improve this answer
Jep! The service pack version can be found at: "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CSDBuildNumber". Please update you're answer, and I'll "accept" it. – Dimitri C. Jan 27 '10 at 10:22
For completeness sake, I found the CSDBuildNumber-means-service-pack-level confirmation at:… – Dimitri C. Jan 27 '10 at 10:25
Thanks a lot for your help. In the end, my conclusion is that I don't have a service pack installed. – Dimitri C. Jan 27 '10 at 11:57
After completing my own tests, the "CSDBuildNumber = 2" seems to mean that no service packs are installed. Instead, the "CSDVersion" field contains the SP version (as a string), but this field doesn't exist if no service packs are installed. – Dimitri C. Jan 27 '10 at 11:59

Run winver from the start menu type-in box (or anywhere else you can run arbitrary commands from).

This little util opens up a message box that lists the current Windows version and service pack level.

share|improve this answer
Hmmm that seems to work, though on Windows 7 off course there's no line mentioning a lack of a "service pack"... – Ivo Flipse Jan 27 '10 at 10:15
On my system, the popup dialog merely says: "version 6.0 (Build 6000)". No service pack version is mentioned :s – Dimitri C. Jan 27 '10 at 10:18
@lvo: Correct. If there is no service pack installed, no service pack is listed in the version info (rather than it explicitly stating "no service pack"). – David Spillett Jan 27 '10 at 10:18
@Dimitry: Then no service pack is installed (or something is wrong and the utility can't see the fact that a service pack has in fact been installed). The machine I'm currently on reports Version 6.0 (Build 6002: Service Pack 2), and carries the Vista logo in the top image of the box. – David Spillett Jan 27 '10 at 10:23
Thanks for your remark that I don't have a service pack installed. It appeared to be correct :-) – Dimitri C. Jan 27 '10 at 12:00

My answer (the right answer), for posterity:

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

The Service Pack level (if any) value is obtained by doing CSDVersion >> 8 i.e. right-shifting the CSDVersion REG_DWORD by 8 bits; e.g. the REG_DWORD value will be 0x100 for SP1, 0x200 for SP2, and so on.

This works for Windows versions all the way back to NT4, and is Microsoft's preferred way of obtaining SP level before the introduction of the OSVERSIONINFOEX structure, as outlined in the Windows Fundamental Requirements [1], specifically requirement "7. Perform Windows Version-Checking Correctly" (see reference link below for more details)

[1] Reference:

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .