Welcome to the Microsoft® Windows® Software Development Kit Update for Windows Vista™. The Windows SDK contains documentation, samples, headers, libraries, and tools designed to help you develop Windows applications. The documentation, samples, and tools provided in the Windows SDK support application programming interfaces (APIs) available in the Windows Vista, Windows XP Service Pack 2 (SP2), and Microsoft Windows Server 2003 Service Pack 1 (SP1) versions of Windows. Not all APIs are supported on all platforms. See the specific API documentation to determine which platform the API supports.
Related Tools
Microsoft offers additional free developer tools and resources including:
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.
This release of the Windows SDK supports the RTM release of Microsoft ® Visual Studio ®2005. 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, and x64 platforms for building and running samples. The IA64 platform is not supported in this release.
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.
This version of the Windows SDK is available in two versions: a DVD ISO image, and as a web download.
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.
It is recommended that you uninstall all previous prerelease versions of the Windows SDK prior to installing this version of the SDK. Note that 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, browsing for the Microsoft Windows Software Development Kit, and selecting Remove (in Windows XPSP2 and Windows Server 2003) or Uninstall (in Windows Vista).
Please install on a clean machine or completely uninstall any pre-releases of the WinFX Runtime Components 3.0, the WinFX SDK, the Platform SDK, the Windows SDK, the .NET Framework redistributable, Microsoft Visual Studio ® , and their dependencies before installing this release. These older components may interfere with this release, causing setup to fail or break functionality.
To install on Microsoft Windows XP Service Pack 2 or Microsoft Windows 2003 Server Service Pack 1:
To install on Windows Vista, step 1 in not necessary. The .NET Framework 3.0 is available by default in Windows Vista.
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.
When building samples, do so in a directory outside of Program Files to which you have write access. For more information, see the Samples section below.
By default, the Windows SDK is installed to your hard disk in the locations described in the following table. This list is not complete, but covers the most common directories.
Directory |
Contents |
---|---|
\Bin |
Windows SDK tools |
\Help |
Windows SDK documentation |
\Include |
Windows SDK headers |
\Lib |
Import libraries and TLB files |
\License |
Windows SDK license information |
\Samples |
Windows SDK samples |
The latest version of Microsoft .NET Framework 3.0
Windows PowerShell is available in the following versions:
PowerShell is currently not supported on ia64. Samples requiring PowerShell will not compile on an ia64 machine. More information on Windows PowerShell is available from the PowerShell Team Blog and the Windows PowerShell Technology Center.
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.
The Windows SDK installs both its core components and external applications as separate MSI files. Please note that several applications will need to be uninstalled from Add/Remove Programs in order to remove all SDK components. Those components are:
Note that you may have installed some of these applications outside of your SDK installation. Removing those applications from Add/Remove Programs will make those applications unavailable for other applications that may use them.
Due to SDK componentization, we recommend re-running the SDK setup.exe from your download location and choosing which features to install. For example, if you choose "Microsoft Windows Software Development Kit" from Add/Remove Programs and then "Change," you will see a different screen that does not show all the internal and external content installed as MSI files.
If you originally only installed the x86 development environment and now want to install the x64 development environment, you need to relaunch the SDK setup.exe versus launching the "Change" functionality for the "Microsoft Windows Software Development Kit" located in Add/Remove Programs in the Control Panel.
If the SDK was installed from a networked drive as a regular user, the Change or Repair
functionality from the Maintenance screen in Add/Remove Programs will fail.
To work around this issue, re-launch setup.exe
from the networked drive.
This will lauch the Mainenance screen, from which the installation can be changed
or repaired.
If you have installed either the Windows SDK for Windows Vista or the Windows SDK Update for Windows Vista along with Visual Studio 2008, and then uninstall the Windows SDK, registry keys are removed that Visual Studio requires to find Windows SDK headers, libraries and tools.
To work around this problem, do one of the following things:
include
, lib
or bin
paths in Visual StudioCMD \V:ON \E:ON
.
To add this provider ID, define a const GUID and use that in your code.
// {b5946137-7b9f-4925-af80-51abd60b20d5}
static const GUID VSS_SWPRV_ProviderID =
{ 0xb5946137, 0x7b9f, 0x4925, { 0xaf, 0x80, 0x51, 0xab, 0xd6, 0x0b, 0x20, 0xd5
} };
In a few cases, you may need to use the Software Provider GUID to access some APIs (GetProviderMgmtInterface method on the IVSSSnapshotMgmt interface.
Vssadmin list providers can also obtain the GUID.
bin\vsstools
(or bin\x64\vsstools
and bin\ia64\vsstools
for the x64 and ia64 version, respectively) and the corresponding samples are
in samples\winbase\vss
.DesiredFrameRate
is SetTimeline
objects with a DesiredFrameRate
value other than a null reference (Nothing in Visual Basic)
do not pause and resume as expected.InvalidCastException
occurs when clicking on a ListBoxItem/ComboBoxItem/TabItem after animating SelectedIndex
SelectedIndex
property of
its ListBox, ComboBox, or TabControl container throws an InvalidOperationException
.HandoffBehavior.Compose
When you apply an animation to a property using the Compose HandoffBehavior, any clocks objects previously associated with that property continue to consume system resources; the timing system will not remove these clocks automatically.
To avoid performance issues when you apply a large number of clocks using HandofffBehavior.Compose
,
you should remove composing clocks from the animated property after they complete. There are several ways to
remove a clock.
ApplyAnimationClock
or BeginAnimation
method of the animation object. Specify the property being animated as the first parameter, and a null reference
(Nothing in Visual Basic) as the second. This will remove all animation clocks from the property.AnimationClock
from a list of clocks, use the Controller
property of the AnimationClock
to retrieve a ClockController
, then call the
ClockController.Remove()
method of the ClockController
. This is typically done
in the Completed
event handler for a clock. Note that only root clocks can be controlled by
a ClockController
; the Controller
property of a child Clock
will return
a null reference (Nothing in Visual Basic). Note also that the Completed
event will not be called
if the effective duration of the clock is forever. In that case, the user will need to determine when to
call ClockController.Remove()
.This is primarily an issue for animations on objects that have a long lifetime. When an object is garbage collected, its clocks will also be disconnected and garbage collected.
To run the Visual Studio Registration Tool, go to:
Start --> All Programs --> Microsoft Windows SDK --> Visual Studio Registration-->
Register Windows SDK Directories with Visual Studio 2005.
There is no workaround. This edition of the Windows SDK does not support building J# applications.
Debugging is not possible because a kernel debugger is enabled on the system.
This message occurs while debugging managed code on a system running Windows ® NT, Windows ® 2000, or Windows XP that has been started in debug mode.
HKLM\Software\Microsoft\.NETFramework\sdkInstallRootv2.0
registry key to a string value containing the root directory of the Windows SDK
installation. However, 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 set this key
would 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.0
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.0\Bin"
Bin\SetEnv.Cmd
and change line number 204 from:
SET FxTools=%windir%\Microsoft.NET\Framework\v2.0.50727
to
SET FxTools=%windir%\Microsoft.NET\Framework64\v2.0.50727
You will need administrator privileges to perform this. Using this method, invoking SetEnv.cmd
with the /x86 parameter will cause the build environment to use the x86 frameworks. Otherwise,
the x64 frameworks will be used.
How Do I
feature might be removed in a future release. There is no workaround
for this issue.
More information on Windows PowerShell is available from the PowerShell Team Blog and the Windows PowerShell Technology Center.
To work around this issue, download the Windows Application Compatibility Toolkit from Download Center.
While WCF allows setting the ReliableSession’s Binding Element InactivityTimeout or AcknowledgementInterval properties to TimeSpan.MaxValue, WCF will not consume WSDL generated by an endpoint with such settings. Instead, the import will fail and SvcUtil.exe will throw an InvalidChannelBindingException.
To work around this issue, after downloading the WSDL, manually change the TimeSpan.MaxValue to 2147483647 (Int32.MaxValue). Then, in the generated configuration file, change the inactivityTimeout or acknowledgementInterval attribute from “24.20:31:23.6470000” to “Infinite”.
An example at the end of the svcutil.exe help output indicates that you can use the /dataContractOnly (/dconly) option to generate Data Contracts from a running service:
svcutil /dconly http://service/metadataEndpoint
- Generate Data Contract types from a running service or online metadata documents.
This usage does not work. You can only use the /dconly option to generate Data Contracts from local metadata files.
On Windows Vista, some ETW providers use manifests instead of MOF registrations. For such providers without the trace schema in the WMI catalog, the current version of SvcTraceViewer.exe cannot decode the trace output.
To decode Windows Vista-specific binary traces with no CIM schema, use the command-line tool TraceRpt.exe, which ships with Windows Vista.
There are know issues with the version of DbgClr included with the Windows SDK. These are resolved by using the version included with Microsoft Visual Studio Express.
Note Some .NET Framework 3.0 samples have specific dependencies or setup requirements. If you find that a sample in the samples .zip files is not working properly, first check the sample page in the documentation for instructions.
When building Samples, do so in a directory outside of Program Files to which you have write access. To build from the command line:
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 .vcproj by typing vcbuild mysample.vcproj.
Configuration
Manager
under Project | Properties
. Additionally, if you do not install libraries
for all CPU architectures, some samples with Visual C++ 2005 project files may fail
to build (link fails with "fatal error LNK1181: cannot open input file") for all
configurations in the project file. For example, if a sample has an x86 configuration
and no x86 libraries were installed (the default install setting when installing
the SDK on a X64 machine), that sample's x86 configuration will fail to build.
The SDK does not come with either ATL or MFC headers, libraries, or runtimes. However, if you have Visual C++ 2005 (non-Express editions) installed on your system, you can use the SDK to build using ATL or MFC.
1. Open an SDK command window.
2. Type cd %MSSDK%\Setup .
3. Run VCIntegrate.exe .
4. From this point forward, command windows will now have the proper environment settings to build an application that takes advantage of the SDK.
Note: If you want to disable support, run VCIntegrate /u
to uninstall
changes and return to command windows with no ATL or MFC support.
The following samples require an ATL or MFC header that Visual Studio 2005 ships with, but the Windows SDK does not ship with.
To work around this issue, run these applications from a non-elevated window.
To build the Logging and CacheProxy samples:
For the sample located in Samples\winbase\vss\vsssampleprovider
the Release configuration
fails to build the EventLogMsg.h file which is required for compilation to succeed. On the other
hand this file is built by the Debug configuration.
To work around this issue, first build the debug configuration before attempting to build the release configuration. This creates the EventLogsMsg.h file which can be subsequently be used by the release configuration
Samples\wpfsamples\Intro\QuickStart4\CSharp\
fails to build\wpfsamples\GlobalizationLocalization\GlobalizationHomepage\MicrosoftSaudiArabiaHomepage.csproj
fails to buildSamples\wpfsamples\GlobalizationLocalization\GlobalizationHomepage\
can be ignored. The
working version of the sample can be found in the
Samples\wpfsamples\GlobalizationLocalization\GlobalizationHomepage\XAML\
folder.
Security\X509 Certificate Enrollment
.
Windows Media Player online store plug-in wizard must be installed manually.
The Visual Studio Registration utility does not install the Windows Media Player online store plug-in wizard as stated in the Windows Media Player SDK documentation.
For instructions on installing the plug-in wizard manually, see Readme for Windows Media Player 11 SDK in the MSDN Library.
The Tablet PC RecoDLL sample contains an outdated resource file, recodll.rc
.
Consequently, although the sample DLL builds, it cannot self register.
A fix is planned for a later release.
To use the sample properly, download the
Updated recodll.c Source File for Tablet PC RecoDLL Sample from the MSDN Download and Code Center.
Save the file to your computer, and then double click the application to start the installation.
Save recodll.rc and RecoDll.vcproj to the Tablet PC RecoDLL sample source folder, overwriting the originals.
The default destination is %destination drive%:\Program Files\Microsoft SDKs\Windows\v6.0\Samples\TabletPC\RecoDLL\CPP.
Samples\SysMgmt\WMI\VC\Decoupled
will not build using Visual StudioSamples\SysMgmt\WMI\VC\Decoupled
using Visual Studio:
Samples\SysMgmt\WMI\VC\Decoupled
Samples\SysMgmt\WMI\VC\Event_Consumer
Samples\SysMgmt\WMI\VC\Event_Provider
Samples\SysMgmt\WMI\VC\Instance_Provider
Samples\SysMgmt\WMI\VC\Decoupled
.Samples\SysMgmt\WMI\VC\Decoupled
individually as per directives given in the help docs.Change 1:
File: \NetDS\NAP\SHA\EXE\Callback.cpp
Line: 368
Current:value.vendorSpecificVal.vendorId = MicrosoftVendorId;
Should be:value.vendorSpecificVal.vendorId = QuarSampleSystemHealthId;
Change 2:
File: \NetDS\NAP\SHV\SampleShv.cpp
Line: 348
Current:goto Cleanup;
Should be:[removed]
Change 3:
File: \NetDS\NAP\SHV\SampleShv.cpp
Line: 514
Current:(pAttrValue->vendorSpecificVal.vendorId == MicrosoftVendorId) &&
Should be:(pAttrValue->vendorSpecificVal.vendorId == QuarSampleSystemHealthId) &&
Change 4:
File: \NetDS\NAP\SHV\SampleShv.cpp
Line: 524
Current:(pAttrValue->vendorSpecificVal.vendorId == MicrosoftVendorId) &&
Should be:(pAttrValue->vendorSpecificVal.vendorId == QuarSampleSystemHealthId) &&
The schema files for the PowerShell samples are located in SysMgmt\WindowsPowerShell\Schemas
.
The Windows SDK is provided "as-is" and is not supported by Microsoft. For technical support, there are a number of options:
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.
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's member communities.
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.
Copyright © 2006 Microsoft Corporation. All rights reserved. Legal Notices: http://www.microsoft.com/legal/.