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頁

相關條目

外部連結