Microsoft Windows SDK

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

历史

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

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

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

版本

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

Microsoft SDK for Windows 3.0是最后一个收费版本的Windows SDK[4]。之后的Windows SDK电子版均为免费,但是购买CDDVD等基于物理介质的版本时仍需运费和处理费用[5]

单独发布的电子版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[6]

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版本历史[7]
名字版本号Build号发布日期下载注释
Microsoft Windows Software Development Kit3.1???
Microsoft Windows Software Development Kit3.11???
Microsoft Win32 Software Development Kit3.1???
Microsoft Win32 Software Development Kit3.5???
Microsoft Win32 Software Development Kit3.51???
Microsoft Win32 Software Development Kit4.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.02001-08[2]页面存档备份,存于互联网档案馆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.22001-11[3]页面存档备份,存于互联网档案馆
Microsoft Platform SDK May 2002?5.2.3639.12002-05[4]页面存档备份,存于互联网档案馆
Microsoft Platform SDK July 2002?5.2.3663.02002-07[5]页面存档备份,存于互联网档案馆
Microsoft Platform SDK August 2002?5.2.3672.12002-08[6]页面存档备份,存于互联网档案馆
Microsoft Platform SDK November 2002?5.2.3718.12002-11[7]页面存档备份,存于互联网档案馆
Microsoft Platform SDK February 2003?5.2.3790.02003-02[8]Last version with VC6 support[8] and latest version with Windows 95 and Windows 98 support.
.NET Framework SDK Version 1.1?1.1.4322.5732003-03-29[9]页面存档备份,存于互联网档案馆Included in Visual Studio 2003. Does not include the Platform SDK.
Microsoft Platform SDK for Windows XP SP2?5.1.2600.21802004-08[10]
Windows Server 2003 SP1 Platform SDK?5.2.3790.1830.152005-05-02[11]页面存档备份,存于互联网档案馆
Windows Server 2003 R2 Platform SDK?5.2.3790.2075.512006-03-14[12]页面存档备份,存于互联网档案馆Also suggested by MS to work with VS6 [9]
.NET Framework 2.0 Software Development Kit?2.0.50727.422006-11-29[13]页面存档备份,存于互联网档案馆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[14]页面存档备份,存于互联网档案馆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[15]页面存档备份,存于互联网档案馆First unified .NET and Platform SDK. Does not support Visual Studio .NET 2003 and Microsoft Visual C++ Toolkit 2003
Included in Visual Studio 2008[10]v6.0a6.1.6723.12007-11-19[16]页面存档备份,存于互联网档案馆
Windows SDK for Windows Server 2008 and .NET Framework 3.5v6.16.0.6001.18000.3672008-02-05[17]页面存档备份,存于互联网档案馆.NET Framework 3.5
Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1v7.06.1.7600.163852009-07-24[18]页面存档备份,存于互联网档案馆
Included in Visual Studio 2010v7.0a6.1.7600.163852010-04-12[19]页面存档备份,存于互联网档案馆.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.[11]
Microsoft Windows SDK for Windows 7 and .NET Framework 4v7.17.1.7600.0.305142010-05-21[12][20]页面存档备份,存于互联网档案馆It is the latest version that officially supports Windows XP target.
Included in Visual Studio 2012 Update 1 (or later)v7.1A7.1.51106??Introduces the "v110_xp" platform toolset
Microsoft Windows SDK for Windows 8 and .NET Framework 4.5v8.06.2.9200.163842012-11-15[13][21]页面存档备份,存于互联网档案馆.NET Framework 4.5, Windows Store apps and Integrated DirectX SDK
Included in Visual Studio 2012v8.0A8.0.50727??
Windows Software Development Kit (SDK) for Windows 8.1v8.18.100.25984.02013-10-17[22]页面存档备份,存于互联网档案馆Windows 8.1, .NET Framework 4.5.1, Windows Store apps and Integrated DirectX SDK
Included in Visual Studio 2013v8.1A8.1.51636??Includes the "v120_xp" platform toolset
Windows Standalone SDK for Windows 10v1010.0.10240.02015-07-29[23]页面存档备份,存于互联网档案馆Also included in Visual Studio 2015[14]
Windows Standalone SDK for Windows 10, Version 1511[15]v1010.0.10586.02015-11-30[24]页面存档备份,存于互联网档案馆Also included in Visual Studio 2015 Update 1[16]
从Windows SDK删除的特性
版本删除特性
Windows SDK for Windows 7 and .NET Framework 3.5 SP1[17]
  • 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[18]
Windows Software Development Kit (SDK) for Windows 8[19]
  • 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[20]Nothing
Windows Software Development Kit (SDK) for Windows 10Nothing[21]

内容

Windows SDK文档包含如下内容[22]

  • 核心SDK
  • .NET框架SDK
  • IIS SDK
  • Internet Development SDK (IE SDK)
  • MDAC SDK
  • Windows Installer SDK
  • WMI SDK
  • Windows Media Service SDK
  • Microsoft Speech SDK[23]
  • DirectShow SDK[24]

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

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

影响

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

参考和引用

相关条目

外部链接