入手可能な Windows SDK について

Platform SDK (Windows SDK) サポート チームのブログということで、まずは、Windows SDK のインストールに関してご案内いたしましょう。

今は、Windows SDK と称していますが、古くは Win32 SDKPlatform SDK という名称でした。Windows SDK という製品名になったのは Windows Vista 以降からです。

SDK は、Windows のソフトウェアを開発するためのキット (道具、ツール) です。
アプリケーションの開発には、Visual Studio を利用している方も多く、SDK をインストールして、単にヘッダー ファイル (*.h) とライブラリ (*.lib) しか使っていないかもしれません。
気付かれていない方が多いかもしれませんが、Windows SDK には、x86、AMD64 や IA64 用のコンパイラーも含まれており、Visual Studio 2010 と同じバージョンが同梱されています。他にも、開発用、検証用のいろいろなツールが含まれています。
Windows SDK は、Windows OS がバージョンアップするたびに、新しいバージョンが無償で提供されています。最新の Windows SDK (バージョン 7.1) は、Windows XP/Windows Server 2003 から Windows 7/Windows Server 2008 R2 までのアプリケーション開発をサポートしています (それより古い OS に関しては後述します)。

Windows SDK のセットアップ プログラムを起動すると、以下のような画面が表示されます。

 

この画面にて、インストールしたい機能やツールを選択できます。ディスクの容量が十分な場合は、既定値どおりのインストールを推奨します。

  • Windows Native Code Development
    Windows API (Win32 API) を使用して、ネイティブ (アンマネージド) のアプリケーションを開発するための、サンプルやヘッダーファイル、ライブラリ、ツール等をインストールします。
  • .NET Development
    .NET Framework アプリケーション (マネージド) を開発するためのツールをインストールします。
  • Common Utilities
    ヘルプ システム、アプリケーション ベリファイヤ、パフォーマンス ツールキット、デバッガーをインストールします。
    (これらのツールは、個々にダウンロード可能なものもありますが、現時点では最新版が含まれています。)
  • Redistributable Packages
    アプリケーション実行に必要な DLL モジュール等を再配布するためのパッケージをインストールします。

それぞれのツールにつきましては、機会がありましたらご案内いたしましょう。

 

Windows SDK の入手方法について

Windows SDK をダウンロードするには、以下のポータルサイトをご参照ください。

Windows SDK
https://msdn.microsoft.com/ja-jp/windowsserver/bb980924

このサイトから、最新の Windows SDK や、少し前のバージョンの SDK をダウンロードするページにリンクしていますが、以下にダウンロード ページのリンクを紹介します。

Microsoft Windows SDK for Windows 7 and .NET Framework 4
https://www.microsoft.com/downloads/en/details.aspx?FamilyID=6b6c21d2-2006-4afa-9702-529fa782d63b&displaylang=en

Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1
https://www.microsoft.com/downloads/en/details.aspx?FamilyID=C17BA869-9671-4330-A63E-1FD44E0E2505

Windows SDK for Windows Server 2008 and .NET Framework 3.5
https://www.microsoft.com/downloads/en/details.aspx?FamilyId=F26B1AA4-741A-433A-9BE5-FA919850BDBF&displaylang=en

Microsoft® Windows® Software Development Kit Update for Windows Vista™
https://www.microsoft.com/downloads/en/details.aspx?FamilyID=4377F86D-C913-4B5C-B87E-EF72E5B4E065&displaylang=en

ここまでが「Windows SDK」です。次からは「Platform SDK」と呼ばれているものです。違いは .NET Framework アプリケーション開発用のキットが含まれていないことです。

Windows® Server 2003 SP1 Platform SDK Full Download
https://www.microsoft.com/downloads/en/details.aspx?FamilyID=EBA0128F-A770-45F1-86F3-7AB010B398A3

Windows® Server 2003 R2 Platform SDK Full Download
https://www.microsoft.com/downloads/en/details.aspx?FamilyId=484269E2-3B89-47E3-8EB7-1F2BE6D7123A&displaylang=en

 

さらに古い Platform SDK の入手方法は

Windows NT 4.0/Windows 2000/Windows XP 用のアプリケーションを開発するために、その時代の Platform SDK を入手する必要はありません。少なくとも、Windows Server 2003 用の Platform SDK は、それまでの OS すべての開発をサポートしています。
(それぞれの SDK のサポート範囲は Release Note を参照してください。)

しかしながら、それらの古い Platform SDK は、現在無償で入手することはできません。もし、それらの古い SDK が必要な場合は、以下の MSDN サブスクリプションのダウンロードをご検討ください。

MSDN サブスクリプションのご案内

MSDN サブスクリプションの会員でしたら、「サブスクライバ ダウンロード」のページから、古い SDK から最新のものまで入手することができます。
MSDN サブスクリプションのホーム ページはこちらです。
https://msdn.microsoft.com/ja-jp/subscriptions/default.aspx

MSDN サブスクライバ ダウンロードのページから、左側の Search Products のツリーを以下のようにたどってください。
これらのツールは英語版で提供されていますので「言語:English」を選択してください。

[Operating Systems] - [Windows 7]
Windows Software Development Kit for Windows 7 and Windows Server 2008 R2 (x86) - DVD (English)

[Operating Systems] - [Windows Vista]
Windows Software Development Kit Update for Windows Vista (English)
Windows Software Development Kit for Windows Vista

[Operating Systems] - [Windows XP]
Windows XP Service Pack 2 Platform SDK (English)

[Tools and Resources] - [Windows SDK and DDKs]
Windows Software Development Kit (SDK) for the January 2006 CTP

古い Platform SDK は、ここからダウンロードできます。

[Tools and Resources] - [Platform SDK and DDKs]
Platform SDK - April 2005 Edition (English)
Windows Server 2003 SP1
Platform SDK - February 2003 Edition (English)
Windows Server 2003
Platform SDK - November 2002 Edition (English)
Platform SDK - July 2002 Edition (English)
Platform SDK - May 2002 Edition (English)
Platform SDK - November 2001 Edition (English)
Platform SDK - August 2001 Edition (English)
Platform SDK - June 2001 Edition (English)

Visual Studio 2010 SP1 インストール後に関する不具合のお知らせ

Microsoft Windows SDK for Windows 7 and .NET Framework 4 (Windows SDK v7.1) をインストールして、x64 コンパイラもしくは IA64 コンパイラを使用されている環境に、Visual Studio 2010 Service Pack 1 をインストールした場合、以下のような、そのコンパイラとコンパイラに関連する C++ ライブラリ ファイルが削除されてしまう問題がありました。

<問題点>

  • Visual Studio 2010 Professional がインストールされている場合、IA64 コンパイラと Visual C++ ライブラリが削除されます。
  • Visual Studio 2010 Express の各エディションがインストールされている場合、x64 と IA64 コンパイラと Visual C++ ライブラリが削除されます。
    (Visual Studio 2010 Premium と Visual Studio 2010 Ultimate の環境では起こりません。)

<回避方法>

問題が発生している環境にて、「Microsoft Visual C++ 2010 Service Pack 1 Compiler Update for the Windows SDK 7.1」を追加インストールしてください。

Microsoft Visual C++ 2010 Service Pack 1 Compiler Update for the Windows SDK 7.1
https://www.microsoft.com/downloads/en/details.aspx?FamilyID=689655B4-C55D-4F9B-9665-2C547E637B70&displaylang=en

推奨しているインストールの順番は以下のとおりです。詳しい説明は、上記のダウンロード案内のページで入手できる readme.htm (英語版) に記載されています。

  1. Visual Studio 2010
  2. Windows SDK 7.1
  3. Visual Studio 2010 SP1
  4. Visual C++ 2010 SP1 Compiler Update for the Windows SDK 7.1

<参考情報>

Visual Studio 2010 Service Pack 1 について
https://support.microsoft.com/kb/983509/ja

Visual Studio 2010 SP1 SDK
https://www.microsoft.com/downloads/en/details.aspx?FamilyID=21307c23-f0ff-4ef2-a0a4-dca54ddb1e21

さいごに

Visual Studio がなくても、Windows SDK に同梱されているコンパイラーやリンカーを使ってアプリケーション開発はできます。
自分好みのテキスト エディターでコードを編集して、コマンド プロンプト上で nmake.exe を起動してビルド (コンパイル & リンク) して、エラー メッセージが出たら、また編集して...。(わお、数十年前は実際に、こんな方法で開発していたんですよね。Visual Studio が出始めた頃は、エディターに慣れないとか、動作が遅いとか、いろいろありましたようです。)
Windows SDK に含まれるサンプルにも、nmake.exe を使用してビルドしなければならないものもあるので、歴史を感じます (というか、ちゃんと Visual Studio に対応しなさい、と言われそうですが。それらの対処方法とか、もっと有効なサンプルを、このブログでご案内しようと考えています。)
by 〇尾