On installation of a Windows SDK, including Windows SDK components installed with Visual Studio 2008, the following registry keys are written:
HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows
HKCU\SOFTWARE\Microsoft\Microsoft SDKs\Windows
HKLM\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows
At the root of each of those folders, the SDK sets the following keys:
Name
Data
CurrentIA64Folder
If Visual Studio 2008 is installed, this key points to the install location of the IA64 Libraries that are installed.
CurrentIA64Version
If Visual Studio 2008 is installed, this key points to the latest version of the IA64 Libraries that are installed.
CurrentInstallFolder
Install location for the most recently installed Windows SDK
CurrentVersion
Version number of the most recently installed Windows SDK
ProductVersion
Version number of the newest version of the Windows SDK installed to disk
Directly below that level, the SDK sets the following SubKeys. The SubKey scheme reflects the corresponding version of the Windows SDK.
SubKey
Window SDK Version
v6.0
Windows SDK for Windows Vista
Windows SDK for Windows Vista Update
v6.0A
Windows SDK Components in Visual Studio 2008
v6.1
Windows SDK for Windows Server 2008
At the root of each of these SubKey folders, we set the following keys:
InstallationFolder
Installation folder for this version of the Windows SDK
Version ID of this version of the Windows SDK
Below each of those folders, keys are created for each SDK component; for example, WinSDKIntellisenseRefAssys for our Intellisense component and WinSDKNetFxTools for our .NET Framework tools. In that way we register each SDK component installed to disk. Several other components that ship, such as FxCop and .NET Compact Framework, set their own registry keys independent of the SDK.
WinSDKIntellisenseRefAssys
WinSDKNetFxTools
The SDK’s ProductVersions have the following naming scheme, as reflected below.
Window SDK ProductVersion
6.0.6000.0
Windows SDK Update for Windows Vista
6.1.6000.16384
6.0.6001.17011
6.0.6001.18000
What the ProductVersion ID means:
Release
OS increment
SDK increment
OS Product build
SDK build
6
0
6000
1
16384
6001
17011
18000
In order to determine the highest version of the SDK you have installed on disk, use the Product build number, followed by the SDK build. For instance, 6001.18000 is higher than 6000.16384.
Note that the naming schemes for future SDKs have not been definitely determined; we would love your feedback on what you think of all of this.
The MSDN Windows SDK Developer Center is the place to find resources and links to Windows SDK products, release notes, technical articles, and more.