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 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 [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.2 2001-11 [3]页面存档备份,存于互联网档案馆
Microsoft Platform SDK May 2002 ? 5.2.3639.1 2002-05 [4]页面存档备份,存于互联网档案馆
Microsoft Platform SDK July 2002 ? 5.2.3663.0 2002-07 [5]页面存档备份,存于互联网档案馆
Microsoft Platform SDK August 2002 ? 5.2.3672.1 2002-08 [6]页面存档备份,存于互联网档案馆
Microsoft Platform SDK November 2002 ? 5.2.3718.1 2002-11 [7]页面存档备份,存于互联网档案馆
Microsoft Platform SDK February 2003 ? 5.2.3790.0 2003-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.573 2003-03-29 [9]页面存档备份,存于互联网档案馆 Included in Visual Studio 2003. Does not include the Platform SDK.
Microsoft Platform SDK for Windows XP SP2 ? 5.1.2600.2180 2004-08 [10]
Windows Server 2003 SP1 Platform SDK ? 5.2.3790.1830.15 2005-05-02 [11]页面存档备份,存于互联网档案馆
Windows Server 2003 R2 Platform SDK ? 5.2.3790.2075.51 2006-03-14 [12]页面存档备份,存于互联网档案馆 Also suggested by MS to work with VS6 [9]
.NET Framework 2.0 Software Development Kit ? 2.0.50727.42 2006-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 Components v6.0 6.0.6000.16384 2006-10-30 [14]页面存档备份,存于互联网档案馆 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 [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.0a 6.1.6723.1 2007-11-19 [16]页面存档备份,存于互联网档案馆
Windows SDK for Windows Server 2008 and .NET Framework 3.5 v6.1 6.0.6001.18000.367 2008-02-05 [17]页面存档备份,存于互联网档案馆 .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 [18]页面存档备份,存于互联网档案馆
Included in Visual Studio 2010 v7.0a 6.1.7600.16385 2010-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 4 v7.1 7.1.7600.0.30514 2010-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.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[13] [21]页面存档备份,存于互联网档案馆 .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 [22]页面存档备份,存于互联网档案馆 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 [23]页面存档备份,存于互联网档案馆 Also included in Visual Studio 2015[14]
Windows Standalone SDK for Windows 10, Version 1511[15] v10 10.0.10586.0 2015-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 10 Nothing[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]

参考和引用

编辑
  1. ^ Windows SDK Frequently Asked Questions. [2010-01-29]. (原始内容存档于2009-09-26). 
  2. ^ Which SDK is Right for Me?. [2010-01-29]. (原始内容存档于2015-11-06). 
  3. ^ Windows 8.1 SDK 下载. [2013-11-06]. (原始内容存档于2016-01-22). 
  4. ^ 《InfoWorld》,InfoWorld Media Group, Inc. 1991年2月25日出版
  5. ^ Order Windows SDK/PSDK on Disk. [2010-01-30]. (原始内容存档于2009-04-24). 
  6. ^ How to obtain the 64-bit version of the Visual C++ 7.1 libraries and build tools. [2010-01-30]. (原始内容存档于2015-02-25). 
  7. ^ Windows and Windows Phone SDK archive. [2016-06-30]. (原始内容存档于2016-03-06). 
  8. ^ Windows® 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."
  9. ^ [1]页面存档备份,存于互联网档案馆). Social.msdn.microsoft.com. Retrieved on 2014-02-16.
  10. ^ Microsoft Windows SDK Blog: New samples in Win 7 SDK: Direct2D and DirectWrite. [2016-06-30]. (原始内容存档于2009-10-27). 
  11. ^ Windows SDK 7.1 release notes. [23 July 2014]. 
  12. ^ Released: Windows SDK for Windows 7 and .NET Framework 4. [2016-06-30]. (原始内容存档于2019-10-18). 
  13. ^ Windows SDK for Windows 8 – Windows Dev Center页面存档备份,存于互联网档案馆). Msdn.microsoft.com. Retrieved on 2014-02-16.
  14. ^ Building Apps for Windows 10 with Visual Studio 2015. [2016-06-30]. (原始内容存档于2019-01-09). 
  15. ^ Windows 10 SDK Release Notes. [2016-06-30]. (原始内容存档于2016-03-22). 
  16. ^ Visual Studio 2015 Update 1 Release Notes. [2016-06-30]. (原始内容存档于2016-07-17). 
  17. ^ Release Notes, Windows SDK for Windows 7 and .NET Framework 3.5 SP1. [2016-06-30]. (原始内容存档于2020-07-24). 
  18. ^ Release Notes, Microsoft Windows SDK for Windows 7 and .NET Framework 4
  19. ^ Windows Software Development Kit (SDK) for Windows 8. Windows Dev Center. Microsoft. [20 February 2016]. (原始内容存档于2016-03-08). 
  20. ^ Windows Software Development Kit (SDK) for Windows 8. Windows Dev Center. Microsoft. [20 February 2016]. (原始内容存档于2019-10-18). 
  21. ^ Windows Software Development Kit (SDK) for Windows 10. Windows Dev Center. Microsoft. [20 February 2016]. (原始内容存档于2016-03-22). 
  22. ^ 《Super SQL Server Systems: Turbocharge Database Performance》,Joseph Gama、Patrick Naughter著,Rampant技术出版社2006年出版,第98页
  23. ^ Microsoft Speech API SDK. [2010-01-29]. (原始内容存档于2010-01-05). 
  24. ^ DirectShow. [2010-01-30]. (原始内容存档于2018-03-05). 
  25. ^ 《Windows API编程/程序员书库》冉林仓著,清华大学2005年出版,第2页
  26. ^ 《Windows graphics programming: Win32 GDI and DirectDraw》,袁峰著,Prentice Hall PTR 2000年出版,第50页
  27. ^ 《Microsoft Foundation Class 4 bible》Fred Pandolfi、Mike Oliver、Michael Wolski著,Waite出版社集团1996年出版,693页
  28. ^ 《Journal of object oriented programming, Volume 4, Issues 8-9》 SIGS 1992年出版,第59页
  29. ^ 《Digital Audio Processing》Doug Coulter著,CMP 2000年出版,第169页
  30. ^ 《Writing secure code》Michael Howard、David LeBlanc著,微软出版社2001年出版,第xxi页
  31. ^ 《Object-oriented programming for Windows 95 and NT》Stephen Morris著, Digital Press 1999年出版,第26页

相关条目

编辑

外部链接

编辑