Determine service pack level

by Wayne Maples [Published on 20 April 2004 / Last Updated on 20 April 2004]

To determine the current Windows NT Service Pack level installed, you can query the registry, useful for script automation, using the following Windows NT Registry hack:

Hive: HKEY_LOCAL_MACHINE
Key: system\CurrentControlSet\control\windows
Name: CSDVersion
Type: REG_DWORD
Value: 0x100 SP1
Value: 0x200 SP2
Value: 0x300 SP3
Value: 0x400 SP4
Value: 0x500 SP5
Value: 0x600 SP6

This value does not distinguish SP6 from SP6a. If SP6a has been installed, HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT\CurrentVersion\Hotfix\Q246009\Installed will have a value of 1.

The other non-registry methods are:

  • When you first start your computer, the Windows NT version, build number, and installed Service Pack version is displayed on a blue screen after the Startup menu is displayed.
  • Click Start, point to Settings, and then click Control Panel. In Control Panel, click About Windows NT on the Help menu.
  • Click Start, click Run, type "winver" (without quotation marks) in the Open box, and then click OK. Winver is the only method that seems to distinguish SP6 from SP6a. Re: distinguishing sp6 and sp6a:

    If the About Windows NT box reads:

    Microsoft (R) Windows NT (R)
    Version 4.0 (Build 1381: Service Pack 6)
    Copyright (C) 1981-1996 Microsoft Corp

    the system is running SP6. If SP6a is installed, the following line will be seen:

    Revised Service Pack 6a

  • Use the Windows NT Diagnostics tool. To run this tool, click Start, point to Programs, point to Administrative Tools (Common), and then click Windows NT Diagnostics. The Service Pack information is located on the Version tab.

See Also

Featured Links