Issue: If you install the Windows SDK for Windows Server 2008 and .NET Framework 3.5, on top of Visual Studio 2008 Service Pack1, some CRT files will revert  back to RTM version.  (See this post for more information about this issue) This can cause conflicts when you install patches or updates such as the Security Update for Microsoft Visual Studio 2008 Service Pack 1: July 28, 2009 (KB971092), which may lead to compile errors similar to this:

· error C2039: '_Swap_adl' : is not a member of 'std'    c:\program files\microsoft visual studio 9.0\vc\include\xutility    2764

· error C3861: '_Swap_adl': identifier not found    c:\program files\microsoft visual studio 9.0\vc\include\xutility    2764

Cause: This problem occurs when you install the Windows SDK for Windows Server 2008 and .NET Framework 3.5 on top of a post-RTM Visual Studio 2008 Service Pack, Feature Pack, or QFE. Visual Studio 2008 and the Windows SDK share compiler and CRT packages. Because the Windows SDK v6.1 includes the RTM version of the CRT, installing the Windows SDK second causes any non-versioned CRT files to be reverted back to Visual Studio 2008 RTM version.  When you install a service patch, the patch will assume that all the SP1 files are still present.

Workaround: Ensure that you are using the Visual Studio 2008 SP1 version of the CRT by installing the Windows SDK for Windows Server 2008 and .NET Framework 3.5 first, then re-installing Visual Studio 2008 SP1.  Then you can apply the Security Update. 

Caution: Running “Repair” on the Windows SDK will cause the CRT files to go back to RTM state and should be avoided.

Karin Meier-Magruder
Program Manager
Windows SDK Team

Send your thoughts to the Windows SDK Feedback alias.  Tell us how you use the SDK and what we can do to improve your development experience.

The MSDN Windows SDK Developer Center is the place to find resources and links to Windows SDK products, release notes, technical articles, and more.