Development Resources in the Windows SDK
The features included in the Windows SDK for Windows 7 and the .NET Framework 4 (later referred to as Windows SDK) fall into the following categories:
Native (Win32/COM) development
Managed (.NET Framework) development
Common (managed and native) development
The following resources are for native language developers.
Windows Headers and Libraries
Every release of the Windows SDK includes the latest headers and libraries for Windows development. This version of the Windows SDK includes an updated set of headers and libraries from the earlier version of the Windows SDK. This is the same set of Windows headers and libraries that are included in Visual Studio 2010. Therefore, if you have already installed Visual Studio 2010 or Visual C++ Express 2010, you do not have to update the Windows headers, libraries, and tools by using the Windows SDK.
Visual C++ 2010 Compilers and C Runtime (CRT)
The new Windows compilers and CRT for the x86, x64, and Itanium (IA64) operating systems are included in the Windows SDK and integrated into its command-line build environment. These compilers and CRT are the same as those that are included in Visual Studio 2010.
This release of the Windows SDK provides the same set of Windows samples that were provided in the Windows SDK for Windows 7 and the .NET Framework 3.5 (later referred to as Windows SDK 7.0), together with limited, high-priority updates. For more information about the samples, see Samples in the Windows SDK and Microsoft Windows SDK Blog.
Windows samples include a mix of Visual Studio 2005 and Visual Studio 2008 project files, all of which must be upgraded in the Windows SDK build environment before they can be built by the Visual C++ 2010 compilers. For more information about how to build the samples, see Samples in the Windows SDK.
Several tools in this release have been updated and three new tools have been added.
Windows Reference Assemblies
This release of the Windows SDK includes the same Windows reference assemblies that were included in the Windows SDK 7.0 and Visual Studio 2010 for FSRM, MMC, TabletPC, UDDI, Windows Media Services, and Windows PowerShell.
A reference assembly is an assembly that is referenced by design-time tools, typically for examining the metadata that describes the types in the assembly. Some Windows SDK samples illustrate how these reference assemblies are used.
Windows SDK Platform Toolset
The custom properties and targets files for MSBuild 4.0 that are included in this version of the Windows SDK enable the Windows multi-targeting feature of Visual Studio 2010 to use the Windows SDK resources in Visual Studio 2010.
Multi-targeting lets you use the current version of Visual Studio to build your application by using a specified set of installed tools or SDKs. For example, if you want to build a Windows application in Visual Studio 2010, but you want to use the Windows headers, libraries, and tools in the Windows SDK, you can do so by using the Windows SDK Platform toolset. However, you do not have to do this for most development scenarios because the Windows headers, libraries, and tools in Visual Studio 2010 are the latest versions.
Also new to this version, Visual C++ projects are now based on the MSBuild tool. This resembles Visual Basic and Visual C#.
Windows SDK Configuration Tool
If you are using Visual Studio or Visual C++ 2008, you can use this tool to integrate the latest versions of the Windows headers, libraries, and tools with Visual C++. This tool makes it easier to build Windows 7 applications by using Visual Studio 2008.
The following resources are for managed language developers.
.NET Framework 4 Reference Assemblies
The Windows SDK is the new delivery vehicle for the .NET Framework 4 reference assemblies. The .NET Framework Redistributable Package no longer includes these assemblies. Although Visual Studio 2010 includes the reference assemblies, users of third-party tools for managed development can obtain them by installing the Windows SDK. For more information about the reference assemblies, see Assemblies in the Common Language Runtime.
.NET Framework IntelliSense
These XML files provide interactive documentation for .NET Framework 4 reference assemblies in the form of tooltips that appear near the cursor when you are writing code. Although Visual Studio 2010 includes the .NET Framework IntelliSense files, users of third-party tools for managed development can obtain them by installing the Windows SDK. For more information about IntelliSense, see Using IntelliSense.
.NET Framework Hosting and Tools Development Headers and Libraries (HTDHL)
These native header files provide native access to the .NET Framework 4 runtime and let developers operate between managed and native environments. You can use the APIs to write custom native runtime hosts, compilers, disassemblers, obfuscators, debuggers, and profilers that target the .NET Framework 4. The HTDHL Headers and Libraries that are installed by the Windows SDK can be installed side-by-side with earlier Windows SDK and Visual Studio releases. The registry keys are the same as those used in earlier Windows SDK and Visual Studio releases. After you install the Windows SDK (and the HTDHL), use the Windows SDK Configuration Tool to set the current version of the Windows SDK.
.NET Framework Samples
The Windows SDK provides links to these samples on the MSDN Code Gallery website. .NET samples are no longer included with the Windows SDK.
.NET Framework 3.5 Tools
The Windows SDK includes the same .NET Framework 3.5 SP1 versions of the .NET Framework tools that were included in the Windows SDK 7.0. This lets you create applications that target the .NET Framework 3.5 SP1.
.NET Framework 4 Tools
The Windows SDK includes the Visual Studio 2010 versions of the .NET Framework 4 tools. This lets you create applications that target the .NET Framework 4.
The following resources are for all users of the Windows SDK.
Microsoft Help Viewer 1.0
The Microsoft Help Viewer, which was introduced with Visual Studio 2010, lets you view MSDN Help documentation on the Internet. You can also download content that you select, and update or delete it whenever you want.
To keep the Windows SDK download size small, the MSDN documentation is no longer included with the Windows SDK. However, at the end of the Windows SDK Setup, you have the option to download documentation to the computer by using the Help Library Manager. The Help Library Manager lets you select whether you want to view the Help that is online or the Help that is stored on the computer, download Help to the computer, check for updated content to download, or remove the content on the computer. For more information, see Help Library Manager and Microsoft Help System Documentation.
Command Line Build Environment
A redesigned build environment that builds both native (C++, makefile) and managed (Visual C++/CLI, Visual C#, Visual Basic) applications by using the new Visual C++ 2010 compilers/CRT and MSBuild 4.0 that are included with the Windows SDK. You can upgrade projects that were created in earlier Windows SDK versions and you can create debug and release builds that target Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows XP SP3, and Windows Server 2003 R2. The Windows SDK build environment is now separate from the Visual Studio build environment, and changes that you make to one environment no longer affect the other.
Tools for both native development and managed development are included in the \Redist\ subfolder in the Windows SDK installation folder, such as Debugging Tools for Windows, Windows Performance Toolkit, Application Verifier, Windows Troubleshooting Pack Designer, Windiff, and others.
The Windows SDK provides the following tools that you can redistribute together with your applications. These redistributable packages are located in the \Redist\ subfolder in the Windows SDK installation folder. By default, the Windows SDK is installed in ..\Program Files\Microsoft SDKs\Windows\v7.1\. For a list of redistributable tools, see the redist.txt file in the \License\ subfolder.
A runtime verification tool for native code that helps you find programming errors that can be difficult to identify with typical application testing. You can run the Application Verifier on your code to identify issues in heaps, handles, and locks.
Tools that help you debug drivers, applications, and services that run on Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows Server 2008 R2, or Windows 7.
Microsoft Visual C++ 2010 Redistributable Package
Installs the runtime components of the Visual C++ Libraries that are required to run applications that are developed with Visual C++ on a computer that does not have Visual C++ 2010 installed. Three versions of the Visual C++ redistributable package are available for download: x86, x64, and Itanium (IA64.
A collection of tools that provide detailed analysis of many performance problems, for example, application start times, start issues, deferred procedure calls and interrupt activity, system responsiveness issues, application resource usage, and interrupt storms.
The tools and components that are described in the following table are not included in the Windows SDK, but they may help you work more efficiently and add capabilities to your applications.
Transfers files asynchronously between a client and a server, and provides information about the progress of the transfers.
Helps you debug drivers, applications, and services.
Integrates the Group Policy functionality of several tools so that administrators can set core Group Policy from one console.
Helps safeguard digital information against unauthorized use, both online and offline, and inside and outside the firewall.
Provides a programming platform for creating and hosting applications that manage Windows-based environments, and provides an integrated management user-interface and administration model.
Installs your applications efficiently, and can enable your product to advertise features without installing them, to install products on demand, and to add user customizations.
Provides a standardized way to manage your computer system, whether it is a local computer or all the computers in an enterprise.
Improves hardware management in a network environment that includes various devices that run a variety of operating systems.
Lets system administrators and programmers access Windows Update and Windows Server Update Services (WSUS) to determine which updates should be applied to a computer, to download those updates, and to install them with little or no user intervention.
Lets system administrators deploy the latest Microsoft product updates, and to manage the distribution of updates that are released through Microsoft Update to computers in their networks.