Microsoft Windows SDK

Microsoft Windows SDK（简称Windows SDK或者SDK）是微软公司出品的一个软件开发包，向在微软的Windows操作系统和.NET框架上开发软件和网站的程序员提供头文件、库文件、示例代码、开发文档和开发工具。

## 历史

微软每次发布一个主要版本的Windows，都会发布对应的开发工具以使得开发人员能够调用新的操作系统的应用程序开发接口(API)。在Windows 98之后，这个开发工具包被命名为为Platform SDK。在Windows Vista的SDK推出时，这个产品改名为Windows SDK。

和Windows一样，微软每次更新.NET框架，也会发布一个对应的.NET框架 SDK。在Windows 2008版本的Windows SDK推出之后，.NET框架SDK被整合到Windows SDK。

截至2013年，最新版本的Windows SDK是Windows 8.1 SDK，支持面向Windows Vista/Server 2008或更高版本的Windows的程序的开发，以及兼容Visual Studio 2010或者以上的版本，包括速成版本。

## 版本

MSDN技术资源库的在线版网站包含Windows SDK的在线版本。

Microsoft SDK for Windows 3.0是最后一个收费版本的Windows SDK。之后的Windows SDK电子版均为免费，但是购买CD、DVD等基于物理介质的版本时仍需运费和处理费用。

单独发布的电子版Windows SDK可以在微软下载中心免费下载，有在线安装和本地安装两种版本。在安装Visual Studio时也可以选择同时安装电子版Windows SDK。Visual Studio的速成版本包含一个精简版本的离线版Windows SDK。

对于非PC版本的Windows，微软也发布对应版本的SDK，例如Windows Mobile SDK和Tablet PC SDK。

2003年2月的Platform SDK是第一个支持64位开发的Platform SDK。Platform SDK for Windows Server 2003 SP1则是第一个支持AMD64的Platform SDK。

Microsoft Windows SDK for Windows 7 and .NET Framework 4 (ver7.1)在安装前应该卸载版本大于10.0.30319的VC++ x86/x64 runtime/redistributable。否则在Microsoft Windows SDK安装过程中将会报错。

名字｜版本号｜Build号｜发布日期｜下载｜注释

Microsoft Windows Software Development Kit｜3.1｜未知｜未知｜未知

Microsoft Windows Software Development Kit｜3.11｜未知｜未知｜未知

Microsoft Win32 Software Development Kit｜3.1｜未知｜未知｜未知

Microsoft Win32 Software Development Kit｜3.5｜未知｜未知｜未知

Microsoft Win32 Software Development Kit｜3.51｜未知｜未知｜未知

Microsoft Win32 Software Development Kit｜4.0｜未知｜未知｜未知

Microsoft Platform SDK April 1999｜未知｜未知｜1999-04｜未知｜MSDN subscription CD-ROM disc. Last Platform SDK to officially install on Windows 95

Microsoft Platform SDK September 1999｜未知｜未知｜1999-09｜未知｜MSDN subscription CD-ROM disc. Last Platform SDK to fully support Visual C++ 5.0

Microsoft Platform SDK February 2001｜未知｜未知｜2001-02｜未知

Microsoft Platform SDK June 2001｜未知｜未知｜2001-06｜未知｜MSDN subscription CD-ROM disc. Last Platform SDK to officially develop for Windows 95. (Does not officially install on Windows 95)

Microsoft Platform SDK August 2001｜未知｜5.1.2601.0｜2001-08｜MSDN subscription CD-ROM disc. Last Platform SDK to unofficially develop for Windows 95. (Does not officially install on Windows 95)

Microsoft Platform SDK November 2001｜未知｜5.2.3590.2｜2001-11

Microsoft Platform SDK May 2002｜未知｜5.2.3639.1｜2002-05

Microsoft Platform SDK July 2002｜未知｜5.2.3663.0｜2002-07

Microsoft Platform SDK August 2002｜未知｜5.2.3672.1｜2002-08

Microsoft Platform SDK November 2002｜未知｜5.2.3718.1｜2002-11

Microsoft Platform SDK February 2003｜未知｜5.2.3790.0｜2003-02｜Last version with VC6 support and latest version with Windows 95 and Windows 98 support.

.NET Framework SDK Version 1.1｜未知｜1.1.4322.573｜2003-03-29｜Included in Visual Studio 2003. Does not include the Platform SDK.

Microsoft Platform SDK for Windows XP SP2｜未知｜5.1.2600.2180｜2004-08

Windows Server 2003 SP1 Platform SDK｜未知｜5.2.3790.1830.15｜2005-05-02

Windows Server 2003 R2 Platform SDK｜未知｜5.2.3790.2075.51｜2006-03-14｜Also suggested by MS to work with VS6

.NET Framework 2.0 Software Development Kit｜未知｜2.0.50727.42｜2006-11-29｜Included in Visual Studio 2005 Professional. Does not include the Platform SDK.

Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components｜v6.0｜6.0.6000.16384｜2006-10-30｜The C++ compilers in this SDK release support the /analyze key.

Microsoft Windows Software Development Kit Update for Windows Vista｜v6.1｜6.1.6000.16384.10｜2007-03-22｜First unified .NET and Platform SDK. Does not support Visual Studio .NET 2003 and Microsoft Visual C++ Toolkit 2003

Included in Visual Studio 2008｜v6.0a｜6.1.6723.1｜2007-11-19

Windows SDK for Windows Server 2008 and .NET Framework 3.5｜v6.1｜6.0.6001.18000.367｜2008-02-05｜.NET Framework 3.5

Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1｜v7.0｜6.1.7600.16385｜2009-07-24

Included in Visual Studio 2010｜v7.0a｜6.1.7600.16385｜2010-04-12｜.NET Framework 4. Works only with Visual Studio 2010 and not Visual Studio 2010 Express. This is also the last version to include offline documentation.

Microsoft Windows SDK for Windows 7 and .NET Framework 4｜v7.1｜7.1.7600.0.30514｜2010-05-21｜It is the latest version that officially supports Windows XP target.

Included in Visual Studio 2012 Update 1 (or later)｜v7.1A｜7.1.51106｜未知｜未知｜Introduces the "v110_xp" platform toolset

Microsoft Windows SDK for Windows 8 and .NET Framework 4.5｜v8.0｜6.2.9200.16384｜2012-11-15｜.NET Framework 4.5, Windows Store apps and Integrated DirectX SDK

Included in Visual Studio 2012｜v8.0A｜8.0.50727｜未知｜未知

Windows Software Development Kit (SDK) for Windows 8.1｜v8.1｜8.100.25984.0｜2013-10-17｜Windows 8.1, .NET Framework 4.5.1, Windows Store apps and Integrated DirectX SDK

Included in Visual Studio 2013｜v8.1A｜8.1.51636｜未知｜未知｜Includes the "v120_xp" platform toolset

Windows Standalone SDK for Windows 10｜v10｜10.0.10240.0｜2015-07-29｜Also included in Visual Studio 2015

Windows Standalone SDK for Windows 10, Version 1511｜v10｜10.0.10586.0｜2015-11-30｜Also included in Visual Studio 2015 Update 1

版本｜删除特性

Windows SDK for Windows 7 and .NET Framework 3.5 SP1｜、capicom.dll (CAPICOM is deprecated)、iacom.dll、ialoader.dll、msistuff.exe、perflibmig.exe、permcalc.exe、secutil.exe、windowssideshowvirtualdevice.exe (replaced by DeviceSimulatorforWindowsSideShow.msi)、wpfperf.msi (now included in the Windows Performance Toolkit suite)、xamlpad.exe (XAMLPad)

Windows SDK for Windows 7 and .NET Framework 4｜、UISpy.exe (Replaced by newer tools)、Wpt_arch.msi、Managed code samples (Moved to Code Gallery )、DExplore document viewer (Can be separately installed)

Windows Software Development Kit (SDK) for Windows 8｜、Command-line build environment, including: Windows SDK Platform Toolset Visual C++ Compilers and C Runtime (CRT) ** Windows SDK Configuration Tool、Tools and reference assemblies for versions of the .NET Framework earlier than 4.5、Apatch.exe、Bind.exe、Checkv4.exe、Consume.exe、DeviceSimulatorForWindowsSideShow.msi、Err.exe、FDBrowser.exe、FXCopSetup.exe、Guidgen.exe、Make-Shell.exe、MDbg.exe、Mpatch.exe、MSIZap.exe、PTConform.exe、ReBase.exe、sddlgen.exe、setenv.cmd、SetReg.exe、SoapSuds.exe、Sporder.exe、TcpAnalyzer.exe、TSPDesigner.exe、UTL2IDL.exe、ValidateSD.exe、VirtualLightSensor.exe、WinDiff.exe、WpfPerf.exe、All Windows samples (moved to Code Gallery )、Microsoft Help Viewer、IntelliSense XML documentation comments for the .NET Framework reference assemblies

Windows Software Development Kit (SDK) for Windows 8.1｜Nothing

Windows Software Development Kit (SDK) for Windows 10｜Nothing

## 内容

Windows SDK文档包含如下内容：

- 核心SDK
- .NET框架SDK
- IIS SDK
- Internet Development SDK (IE SDK)
- MDAC SDK
- Windows Installer SDK
- WMI SDK
- Windows Media Service SDK
- Microsoft Speech SDK
- DirectShow SDK

除了.Net SDK之外，SDK文档主要是以C语言规范提供，但是SDK函数的调用方法和语言无关，仅受编程语言的类型系统限制

另外，SDK也会安装用于说明各种API用法的示例，以及用于辅助开发、调试、发布软件的工具。

## 影响

Windows API也被称为Windows SDK函数或者简称SDK函数。相对于.Net框架这样的类库来说，SDK函数被认为是底层的API。直接调用Windows SDK而不是用别的类库的开发被称为SDK编程。在SDK这一层开发工作枯燥、耗时较长，难度也较高，Visual Studio这样的开发环境以及MFC和.NET框架这样的类库可以被用来加速面向Windows的软件的开发。