Windows SDK Release Notes

1. Welcome

Welcome to the prerelease Microsoft® Windows® Software Development Kit (SDK) for Windows Server 2008® and .NET Framework 3.5. The Windows SDK contains documentation, samples, headers, libraries, and tools designed to help you develop Windows applications.

This prerelease is for preview purposes only. The APIs, documentation, samples, headers, libraries, and tools provided in this release are preliminary and subject to change.

This release of the Windows SDK does NOT include the .NET Framework 3.0 Redistributable Package. With the exception of Windows Vista and Windows Server 2008 (which include the .NET Framework 3.0), all operating systems require you to install the .NET Framework 3.0 to run and develop managed applications. Some samples and tools included in the Windows SDK also require you to install the pre-release .NET Framework 3.5.

1.1 Other Tools and Downloads

Microsoft offers additional free developer tools and resources including:

  • Windows Vista Developer Center is the official site about product development. It includes product information, news, tools, and code samples.
  • Microsoft Visual Studio Express is a set of free, lightweight and easy-to-use tools for the hobbyist, novice and student developer.
  • Microsoft Windows PowerShell command line shell and scripting language helps IT Professionals achieve greater productivity. Using a new admin-focused scripting language, more than 130 standard command line tools, and consistent syntax and utilities, Windows PowerShell allows IT Professionals to more easily control system administration and accelerate automation. More information on Windows PowerShell is available from the PowerShell Team Blog and the Windows PowerShell Technology Center.
  • The Microsoft .NET Framework 3.0 is the new managed code programming model for Windows. It combines the power of the .NET Framework 2.0 with four new technologies: Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), Windows Workflow Foundation (WF), and Windows CardSpace (WCS, formerly "InfoCard"). The .NET Framework 3.0 ships with Windows Vista and Windows Server 2008.
  • The Microsoft .NET Framework 3.5 contains many new features that are compatible with both .NET Framework 2.0 and .NET Framework 3.0. .NET Framework 3.5 includes several fixes for .NET Framework 2.0 and .NET Framework 3.0.
  • LUA Buglight™ is a tool to help both developers and IT Pros (sysadmins) identify the specific causes of admin-permissions issues (a.k.a., “LUA bugs”) in desktop applications running on Windows XP, Windows Server 2003, or Windows Vista. Once the specific causes have been identified, the bugs can more easily be resolved by fixing the app’s source code, or by making configuration changes, allowing the app to work correctly for non-admin users.

2. License Agreement

The contents included in the Windows SDK are licensed to you, the end user. Your use of the SDK is subject to the terms of an End User License Agreement ("EULA") accompanying the SDK and located in the \License subdirectory. You must read and accept the terms of the EULA before you access or use the SDK. If you do not agree to the terms of the EULA, you are not authorized to use the SDK.

3. Supported Compiler, Platforms and Related Software

This release of the Windows SDK supports the RTM release of Microsoft Visual Studio 2005 SP1, Microsoft Visual Studio 2008, and the Microsoft Visual Studio 2005 Express Editions. Express Editions of Visual Studio are available to download from the Visual Studio Express site, free of charge.

This release of the Windows SDK supports x86, x64, and IA64 platforms for building and running samples on Windows XP SP2, Windows Server 2003 SP1, Windows Vista, and Windows Server 2008.

4. Downloading and Installing

To optimize your Windows SDK setup experience, we strongly recommend that you install the latest updates and patches from Microsoft Update before you begin installing the Windows SDK.

4.1 Downloading

This version of the Windows SDK is available in two versions: a DVD ISO image, and as a web download. This version of the Windows SDK is available as a DVD ISO image only.

The DVD ISO image of the Windows SDK available from Download Center will not install the SDK directly on to your hard disk without the use of additional tools. See the Installation Instructions below for more information. The DVD ISO image requires a minimum of 1.4 GB of free disk space to install. If you do not have that much free disk space, you can use the SDK's custom setup options to install a subset of the content.

The web download is also available from the Download Center. The web download will stream the SDK content to your local machine.

4.2 Installation

It is recommended that the Windows SDK be installed on a clean machine or completely uninstall any pre-releases of the .NET Framework 3.0, the Platform SDK, the Windows SDK and their dependencies before installing this release. These older pre-release components may interfere with this release, causing setup to fail or break functionality.

You may see more than one Windows SDK product listed in the Upgrade Options screen. All of the Windows SDK products may be removed by going to Add/Remove Programs (Programs and Features in Vista), browsing for the Microsoft Windows Software Development Kit, and selecting Remove (in Windows XPSP2 and Windows Server 2003) or Uninstall (in Windows Vista or later).

4.2.1 Windows SDK Disk Space Requirements

The complete DVD ISO installation of the Windows SDK requires 1.4 GB or more disk space to install successfully. Please verify that the computer you are installing to has at least the minimum required disk space before beginning setup. If the minimum required disk space is not available, setup will return a fatal error.

To install the Windows SDK:

  1. If you intend to install the .NET Framework components available in the Windows SDK, install the .NET Framework 3.0 from the Download Center (Not required on Windows Vista, Windows Server 2008 or later) , or install the pre-release .NET Framework 3.5 (Beta 2) from the Microsoft Download Center.
  2. If you downloaded the SDK as an ISO, either burn the ISO to DVD media or mount it on a virtual drive. From that ISO, double-click setup.exe to begin the SDK setup.
  3. Follow the instructions in the Windows SDK Setup wizard.
  4. Optional: Install Microsoft Visual Studio 2005 SP1.
  5. Optional: Install the Visual Studio 2005 Extensions for .NET Framework 3.0 from the Download Center.
  6. Access the Windows SDK shortcuts through the Start menu. The Start menu folder contains shortcuts to the Release Notes, documentation (which contains the samples for .NET Framework), tools, and the SDK build environment command window.

Note: If you intend to use Visual Studio to develop .NET Framework 3.0 applications, you must install the Windows SDK before installing the Visual Studio 2005 Extensions for .NET Framework 3.0. It is essential that you use the version of Visual Studio identified in the Installation Instructions in .NET Framework 3.0 setup.

4.3 Uninstalling

The Windows SDK installs both its core components and external applications as separate MSI files. Several applications might need to be uninstalled from Add/Remove Programs (Programs and Features on Vista) in order to remove all SDK components:

  • Microsoft Windows Software Development Kit
  • Microsoft FxCop 1.35
  • Microsoft Document Explorer

You may have installed some of these applications with another product besides the SDK. Removing those applications will make those applications unavailable for other applications that may use them. For example, Visual Studio has a dependency on Microsoft Document Explorer.

4.4 Win32 C++ Development with the Windows SDK and Visual Studio 2005

In order to utilize Windows SDK headers, libraries, and tools within Visual Studio 2005, the SDK-provided Visual Studio registration tool must first be run. (This is not necessary with Visual Studio 2008.) The Visual Studio 2005 registration tool must run in elevated administrator mode on a Windows Vista computer. When running this tool on a Windows Vista machine it must be run for each user.

To run the Visual Studio 2005 Registration Tool, go to:

Start --> All Programs --> Microsoft Windows SDK V6.1 --> Visual Studio Registration--> Integrate Windows SDK Directories with Visual Studio 2005 .

4.5 Building Samples

When building Samples, do so in a directory outside of Program Files to which you have write access. To build from the command line:

  1. Copy the sample to a working folder not under \Program Files. Copying to a location other than Program Files makes it possible to maintain a pristine copy of the SDK samples and avoid issues when writing to files and directories located under Program Files.
  2. Open the Windows SDK CMD shell.
  3. Build the sample from the command line as follows:
    • Build a makefile by typing nmake
    • Build a .csproj file by typing msbuild mysample.csproj
    • Build a .vbproj file by typing msbuild mysample.vbproj
    • Build a .sln file by typing msbuild mysample.sln
    • Build a .vcproj by typing vcbuild mysample.vcproj

4.5.1 Building .NET Framework Samples

Samples demonstrating .NET Framework 3.0 and 3.5 can be found individually in the SDK documentation. Each sample has its own description page. From each sample page, you can view the source files for those samples as well as individually download all the files of that sample to a chosen location. The .NET Framework samples can be accessed in bulk by directly opening the sample .zip files located in %MSSDK%\Samples.

4.6 File System Layout

By default, the Windows SDK is installed to your hard disk in the locations below. Samples are installed by default to the \Samples directory, but this directory can be changed during SDK install.

Directory Contents


Windows SDK tools


Windows SDK documentation


Windows SDK headers


Import libraries and TLB files


Windows SDK license information

\No Redist

Non-Redistributable files


Redistributable files


Windows SDK samples


Setup files


VC Compilers

5. Known Issues

This release of the Windows SDK has the following known issues. Known issues are categorized by type.

5.1 Build Environment

5.1.1 VCBuild fails to compile or upgrade projects

In order for VCBuild to run properly, vcprojectengine.dll needs to be registered. If vcprojectengine.dll is not registered, VCBuild.exe will fail with errors such as:

On compile: warning MSB3422: Failed to retrieve VC project information through the VC project engine object model. System error code: 127.

On upgrade: Failed to upgrade project file ‘foo.vcproj'. Please make sure the file exists and is not write-protected.

To workaround this issue, vcprojectengine.dll must be manually registered. From a Windows SDK command line window (as administrator in Vista:

On an X86 machine, run:

cd %mssdk%\VC\bin
regsvr32 vcprojectengine.dll

On an X64 machine, run:

cd %mssdk%\VC\bin\X64
regsvr32 vcprojectengine.dll

5.1.2 .NET Framework 3.5 is not in the Windows SDK path

On an X86 machine:


On an X64 or IA64 machine:


5.1.3 MSBuild Reports a Dependency upon the Microsoft .NET Framework SDK 2.0

The Windows SDK does not set the HKLM\Software\Microsoft\.NETFramework\sdkInstallRootv2.0 registry key to a string value containing the root directory of the Windows SDK installation. Some MSBuild tasks may expect this registry key to be set. If you already have the .NET Framework SDK 2.0 or Visual Studio 2005, this key will be set and you should not encounter a problem. However, if you install the Windows SDK without either the .NET Framework SDK or Visual Studio 2005, you may receive an error message from MSBuild tasks with a dependency on this key. To work around this issue set the string value of this key to the root directory of the Windows SDK installation. By default, this is:C:\Program Files\Microsoft SDKs\Windows\v6.1

Additionally, in order to use AL.exe, the ALToolPath parameter must be set and passed to msbuild. For the default install location, this can be done using the following command:

msbuild /p:ALToolPath="C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin

5.1.4 Running Visual Studio 2005 Integration Tool fails in Windows Vista

In Windows Vista, running the Visual Studio 2005 Registration Tool fails with the error "Unable to access the required files". This is because the integration tool needs to be run with elevated privileges:

Start --> All Programs --> Microsoft Windows SDK V6.1 --> Visual Studio Registration--> Integrate Windows SDK Directories with Visual Studio 2005 .

Alternatively, open an SDK build environment as Administrator, and run the Visual Studio 2005 Integration Tool from there.

5.1.5 After Visual Studio integration, extra paths are added to the VC++ Directories

After running Visual Studio Registration, C:\Program Files\Microsoft SDKs\Windows\V6.1\VC\INCLUDE is added to the Include list found in Visual Studio under Tools->Options->Projects and Solutions->VC++Directories

To workaround this issue, remove C:\Program Files\Microsoft SDKs\Windows\V6.1\VC\INCLUDE from the list of include directories in Visual Studio under Tools->Options->Projects and Solutions->VC++Directories.

5.1.6 Visual Studio 2005 is Required for .NET Compact Framework Development

The SDK provides documentation and sample code that targets the .NET Compact Framework. However, actual development of .NET Compact Framework applications requires Visual Studio 2005. When building a sample that depends on the .NET Compact Framework, you might see this error:

C:\Sample\Foo.csproj(57,11): error MSB4019: The imported project "C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Microsoft.CompactFramework.CSharp.targets" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk.

To workaround this issue, download and install the .NET Compact Framework 2.0 Redistributable or the pre-release .NET Compact Framework 3.5 Beta1 Redistributable.

5.2 Documentation

5.2.1 Link to "Windows Vista Samples" is broken in the Docs

The link to the "Windows Vista Samples" is broken in the documents at Getting Started -> Welcome to the Windows SDK -> Samples and Tutorials.   Win32 samples install by default to your hard drive at Program Files\Microsoft SDKs\Windows\v6.1\Samples.

To access documentation about the Win32 samples please go to MSDN Online

5.2.2 ODBC Provider (MSDASQL) Incorrectly Listed as Deprecated

The "Windows DAC/MDAC Deprecated Components" topic states that the ODBC Provider (MSDASQL) is being deprecated. This information is incorrect; there are currently no plans to remove support for this component.

5.3 SDK Tools

5.3.1 Guidgen.exe fails to execute

Guidgen.exe fails with the following error:

System.ComponentModel.Win32Exception: The application has failed to start because its side-by-side configuration is incorrect.

Workaround: use Uuidgen.exe to generate GUIDs from the command prompt. Run the following command:

%ProgramFiles%\Microsoft SDKs\Windows\v6.1\bin\Uuidgen.exe

For help with this tool, type: uuidgen.gen /?

5.3.2 Some tools are not included with this release of the Windows SDK

The following tools are not included with this release of the Windows SDK:

5.3.3 Some tools require the .NET Framework 3.5

The following tools require the .NET Framework 3.5, which does not ship with the Windows SDK:

5.3.4 Ecmangen.exe fails to execute on Windows XP or Windows Server 2003

Ecmangen.exe fails on Windows XP or Windows Server 2003 with the following error:

.NET Runtime
2.0 error reporting EventType clr20r3, P1
svcconfigeditor.exe, P2, P3 46795e88, P4 svcconfigeditor,
P5, P6 46795e88, P7 a25, P8 0, P9 system.typeinitialization,
P10 NIL.
There is no workaround for this issue.

5.4 Samples

5.4.1 C++ Samples Project Files Require Upgrade Prior to Building

In order to build the samples in the SDK build environment or in Visual Studio 2008, the Win32 samples project files must be upgraded. The compilers in the SDK are VC 9.0 – the same compilers that ship in Visual Studio 2008. The sample project files in the SDK are written for VC 8.0 compilers – the compilers that ship in Visual Studio 2005. This allows users to build the samples in Visual Studio 2005. When building a project file in the SDK Build environment, you may receive this error:

GramEvcbuild.exe : error VCBLD0010: Project 'foo.vcproj' requires upgrade. Use 'vcbuild /upgrade' or 'devenv /upgrade' to upgrade the project.

To workaround this issue, follow the prompt in the command window and type: 'vcbuild /upgrade' or 'devenv /upgrade' to upgrade the project.

.NET Framework (managed) sample vcproject files cannot be upgraded using the workaround above. These must be upgraded using vcbuild /upgrade /overrideRefVer “SampleName.vcproj” because upgrade /overriderefver indicates that it will use .NET framework 3.5.

5.4.2 Sample Dependencies

Some samples included with the Windows SDK have dependencies on components outside of the Windows SDK. ATL/MFC Dependency

Some samples require the ATL and/or MFC headers, libraries or runtime, which are included with Visual C++ (non-Express editions). When building a sample that depends on ATL/MFC without Visual Studio installed on your machine, you may see an error similar to this:

fatal error C1083: Cannot open include file: 'afxwin.h': No such file or directory

To workaround this issue, install a non-Express version of Visual Studio 2005 or later. Windows Media Player Dependency

The SchemaReader sample requires Windows Media Player 11 or later to be installed: MMC 3.0 Dependency

The Samples in the \Samples\SysMgmt\MMC3.0 directory require the MMC 3.0 or later to be installed: DirectX SDK Dependency

The Multimedia\direct3d\d3d9ex sample requires the DirectX SDK (refer to the sample’s readme for additional information)

5.4.3 Not All C++ Samples with Visual C++ 2005 Project Files Have Configurations for X64

Not all samples with Visual C++ 2005 project files have configurations to build for X64. When building a C++ sample that does not have support for X64 on an X64 machine, you may see the following error message:

fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86'

To workaround this issue, load the sample in Visual Studio (C++) 2005 and update the Configuration Manager under Project | Properties. Additionally, if you do not install libraries for all CPU architectures during SDK setup, some samples with Visual C++ 2005 project files may fail to build with this error for all configurations in the project file:

GramEfatal error LNK1181: cannot open input file 

For example, if a sample has an x86 configuration and x86 libraries were NOT installed (these are installed by default when installing the SDK on

5.4.4 J# Samples require VJ++ (Visual Studio) to be installed

J# samples will not build using the Windows SDK because there is no appropriate build environment. This edition of the Windows SDK does not support building J# applications. To workaround this issue, install Visual Studio (VJ++) 2005.

5.4.5 Setupvroot.bat setup script for WCF samples fails on Windows Vista if the NetMsmqActivator service is enabled and Message Queuing (MSMQ) is not installed

The Windows Communication Foundation samples setup script Setupvroot.bat does not work on Windows Vista if the NetMsmqActivator service is enabled and Message Queuing (MSMQ) is not installed. The iisreset utility does not work unless MSMQ is installed or the NetMsmqActivator service is disabled. The WCF samples setup script Setupvroot.bat will not run unless MSMQ is installed or the NetMsmqActivator service is disabled.

Make sure MSMQ is installed or disabled the NetMsmqActivator service on Windows Vista before you run the WCF samples setup script Setupvroot.bat.

5.4.6 Some .NET Framework WCF samples do not build or run

The following Windows Communication Foundation (WCF) samples do not build or run correctly in the SDK build environment or Visual Studio 2008:

  • TechnologySamples\Scenario\DataBinding\WPF (does not build)
  • TechnologySamples\Scenario\RestPox (builds but fails while running on Windows Vista)
  • TechnologySamples\Extensibility\Transport\UdpActivation (builds but fails while running)

To workaround this issue:

  • TechnologySamples\Scenario\DataBinding\WPF
    This issue affects only the C# version of the sample. To resolve, remove the following string from client.csproj: <UICulture>en-us</UICulture>

  • TechnologySamples\Scenario\RestPox
    This issue affects both the C# and Visual Basic versions of the sample when running on Windows Vista. The client runs correctly almost all the way through the sample then fails near the end. To resolve the issue, remove the forward slash from the following lines of code:
    new Uri( message.Properties.Via + "/" + customerId ) ) in file CustomerService.cs
    links.Add( New Uri(msg.Properties.Via.ToString() & "/" & customerId ) ) in file CustomerService.vb

  • TechnologySamples\Extensibility\Transport\UdpActivation
    No workaround is available at this time.

5.4.7 Two Speech Samples May Fail to Compile

The speech samples \winui\Speech\DictationPad and \winui\Speech\Reco may fail to properly compile the grammar files.

To work around this issue, change the Custom Build Step for the *.xml files to use “gc.exe” instead of “..\..\gc.exe”. This is part of the DictationPad.sln and Reco.sln Visual Studio Solution files. In addition, there is a typo in the Reco.cpp file. Change all references to GetListHead() to GetHead() in Reco.cpp.

5.4.8 Some Samples May Fail to Compile: Debug:Itanium error

Some samples may fail to compile on all platforms with the following error:

vcbuild.exe : error VCBLD0004: Project 'C:\buildall_hxs\local\sampleexecutables\Technologies\DirectoryServices\BEREncoding\CP\BerEncoding\BerEncoding.vcproj' does not contain a configuration called 'Debug|Itanium'

This is because Debug:Itanium is listed as the first configuration on the samples’ solution files and the samples’ project files do not contain a Debug:Itanium configuration. To workaround this issue, edit each sample’s solution file (using Notepad or Visual Studio) to remove the Debug:Itanium and Release:Itanium configuration. If you are using an Itanium machine, the correct workaround is to add a Debug:Itanium configuration to the samples’ project files.

Affected samples:

  • BEREncoding
  • Dsml_BatchRequest
  • Dsml_Exceptions
  • Dsml_PagedSearch
  • Dsml_ReadRootDSE
  • Dsml_SendRequest
  • Ldap_AsyncSend
  • Ldap_Exceptions
  • Ldap_PagedSearch
  • Ldap_PrintDomain
  • Ldap_ReadRootDSE
  • Ldap_Referral
  • Ldap_SendRequest

6. Windows SDK Product Support

The Windows SDK is provided "as-is" and is not supported by Microsoft. For technical support, there are a number of options:

6.1 Professional Support for Developers

Microsoft Professional Support for Developers provides incident-based access to Microsoft support professionals and rich information services to help developers to create and enhance their software solutions with Microsoft products and technologies.

For more information about Professional Support for Developers, or to purchase Professional Support incidents, please contact a Customer Representative at 1-800-936-3500. To access Professional Support for Developers, visit the MSDN web site. If you have already purchased support incidents, and would like to speak directly with a Microsoft support professional, call 1-800-936-5800.

6.2 MSDN Online 

MSDN online support allows access to Developer Support search, support incident submission, technical and product information, support highlights, service packs, downloads, webcasts, and MSDN Online member communities.

6.3 Public Newsgroups, Forums and Blogs

The MSDN Forums are available for peer-to-peer support. The Windows SDK Forum deals with topics related specifically to the Windows SDK. The Software Development for Windows Vista forum contains an updated list of related forums.

The Windows SDK team also maintains the Windows SDK Blog which contains late-breaking and forward-looking news.

7. Feedback

Your feedback is important to us. Your participation and feedback through the Windows Vista Forums or is appreciated.

Copyright © 2007 Microsoft Corporation. All rights reserved. Legal Notices: