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《InfoWorld》，InfoWorld Media Group, Inc. 1991年2月25日出版。之后的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安装过程中将会报错。

+ Microsoft SDK版本历史名字版本号Build号发布日期下载注释Microsoft Windows Software Development Kit3.1Microsoft Windows Software Development Kit3.11Microsoft Win32 Software Development Kit3.1Microsoft Win32 Software Development Kit3.5Microsoft Win32 Software Development Kit3.51Microsoft Win32 Software Development Kit4.0Microsoft Platform SDK April 19991999-04MSDN subscription CD-ROM disc.

Last Platform SDK to officially install on Windows 95Microsoft Platform SDK September 19991999-09MSDN subscription CD-ROM disc.

Last Platform SDK to fully support Visual C++ 5.0Microsoft Platform SDK February 20012001-02Microsoft Platform SDK June 20012001-06MSDN subscription CD-ROM disc.

Last Platform SDK to officially develop for Windows 95. (Does not officially install on Windows 95)Microsoft Platform SDK August 20015.1.2601.02001-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 20015.2.3590.22001-11 Microsoft Platform SDK May 20025.2.3639.12002-05 Microsoft Platform SDK July 20025.2.3663.02002-07 Microsoft Platform SDK August 20025.2.3672.12002-08 Microsoft Platform SDK November 20025.2.3718.12002-11 Microsoft Platform SDK February 20035.2.3790.02003-02Last version with VC6 supportWindows® Server 2003 SP1 Platform SDK Web Install , Microsoft Download Center "The last SDK that will work with VC 6.0 is the February 2003 Edition, you can order a CD on the fulfillment site." and latest version with Windows 95 and Windows 98 support..NET Framework SDK Version 1.11.1.4322.5732003-03-29 Included in Visual Studio 2003. Does not include the Platform SDK.Microsoft Platform SDK for Windows XP SP25.1.2600.21802004-08Windows Server 2003 SP1 Platform SDK5.2.3790.1830.152005-05-02 Windows Server 2003 R2 Platform SDK5.2.3790.2075.512006-03-14 Also suggested by MS to work with VS6  . Social.msdn.microsoft.com. Retrieved on 2014-02-16..NET Framework 2.0 Software Development Kit2.0.50727.422006-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 Componentsv6.06.0.6000.163842006-10-30  The C++ compilers in this SDK release support the /analyze key.Microsoft Windows Software Development Kit Update for Windows Vistav6.16.1.6000.16384.102007-03-22 First unified .NET and Platform SDK.  Does not support Visual Studio .NET 2003 and Microsoft Visual C++ Toolkit 2003Included in Visual Studio 2008v6.0a6.1.6723.12007-11-19 Windows SDK for Windows Server 2008 and .NET Framework 3.5v6.16.0.6001.18000.3672008-02-05 .NET Framework 3.5Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1v7.06.1.7600.163852009-07-24 Included in Visual Studio 2010v7.0a6.1.7600.163852010-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 4v7.17.1.7600.0.305142010-05-21 It is the latest version that officially supports Windows XP target.Included in Visual Studio 2012 Update 1 (or later)v7.1A7.1.51106Introduces the "v110_xp" platform toolsetMicrosoft Windows SDK for Windows 8 and .NET Framework 4.5v8.06.2.9200.163842012-11-15Windows SDK for Windows 8 – Windows Dev Center . Msdn.microsoft.com. Retrieved on 2014-02-16. .NET Framework 4.5, Windows Store apps and Integrated DirectX SDK Included in Visual Studio 2012v8.0A8.0.50727Windows Software Development Kit (SDK) for Windows 8.1v8.18.100.25984.02013-10-17 Windows 8.1, .NET Framework 4.5.1, Windows Store apps and Integrated DirectX SDK Included in Visual Studio 2013v8.1A8.1.51636Includes the "v120_xp" platform toolsetWindows Standalone SDK for Windows 10v1010.0.10240.02015-07-29 Also included in Visual Studio 2015Windows Standalone SDK for Windows 10, Version 1511v1010.0.10586.02015-11-30 Also included in Visual Studio 2015 Update 1

+ 从Windows SDK删除的特性版本删除特性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 4Release Notes, Microsoft 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 assembliesWindows Software Development Kit (SDK) for Windows 8.1NothingWindows Software Development Kit (SDK) for Windows 10Nothing

内容
Windows SDK文档包含如下内容《Super SQL Server Systems: Turbocharge Database Performance》，Joseph Gama、Patrick Naughter著，Rampant技术出版社2006年出版，第98页：
核心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函数的调用方法和语言无关，仅受编程语言的类型系统限制《Windows API编程/程序员书库》冉林仓著，清华大学2005年出版，第2页

另外，SDK也会安装用于说明各种API用法的示例，以及用于辅助开发、调试、发布软件的工具《Windows graphics programming: Win32 GDI and DirectDraw》，袁峰著，Prentice Hall PTR 2000年出版，第50页。

影响
Windows API也被称为Windows SDK函数或者简称SDK函数《Microsoft Foundation Class 4 bible》Fred Pandolfi、Mike Oliver、Michael Wolski著，Waite出版社集团1996年出版,693页。相对于.Net框架这样的类库来说，SDK函数被认为是底层的API《Journal of object oriented programming, Volume 4, Issues 8-9》 SIGS 1992年出版，第59页。直接调用Windows SDK而不是用别的类库的开发被称为SDK编程《Digital Audio Processing》Doug Coulter著，CMP 2000年出版，第169页。在SDK这一层开发工作枯燥、耗时较长，难度也较高《Writing secure code》Michael Howard、David LeBlanc著，微软出版社2001年出版，第xxi页，Visual Studio这样的开发环境以及MFC和.NET框架这样的类库可以被用来加速面向Windows的软件的开发《Object-oriented programming for Windows 95 and NT》Stephen Morris著， Digital Press 1999年出版，第26页。

参考和引用

 相关条目 
驱动程序开发工具包
DirectX SDK
Windows Media Center SDK
Silverlight SDK

外部链接
Windows SDK主页 
Windows SDK项目组博客 
Windows SDK论坛（英文）

分类:微軟開發工具