DirectX Web Installer

誰か書くかと思ってたらあんまり話題になってなさげな DirectX Web Installer の話でも.
DirectX SDK - (December 2005) に合わせて DirectX End-User Runtimes (December 2005) Web Installer が公開されています*1.ただし SDK の中を漁っても出てこなくて,Microsoft DirectX Downloads のページをよーくみると真下に見つかります.

Microsoft DirectX Downloads
http://msdn.microsoft.com/directx/sdk/

DirectX End-User Runtimes (December 2005) Web Installer
特徴としてはこんな感じです.

  • (追記)このファイル自体は再配布禁止
  • ファイルサイズ 309 KB の単体配布
  • 必要なファイルのみ差分ダウンロード
  • コアランタイムはもちろんインストールする
  • D3DX が DLL 化してから後の全ての D3DX DLL をインストールする
  • アセンブリバージョン 1.0.2902.0 *2 以降の全ての Managed DirectX Runtime をインストールする

以前からコアランタイムについてはこのインストーラが使われていたかと思いますが,今回その他の配布物についてもカバーしてくれるようになったというのが重要なわけですな.基本的にはこれに丸投げすれば良さそうな感じです.
ただし,状況によってはエラーメッセージがミスリーディングなのでご注意を.Windows Vista では「User Account Protection」が待ってますが,現状はどうかというのが次の結果です.Windows XP Professional SP2 環境にて実験してみましょう.



まずUsers グループに所属するアカウントで "dxwebsetup.exe" を実行してみた結果がこれです.

DirectX チームは Windows 2000 などの旧環境に配慮して Side-by-Side DLL を選ばなかったわけですが*3,結果的に D3DX DLL などをシステムフォルダに deploy することになるという事実が重くのしかかります.


さて次に Power Users グループな彼にお願いしてみましょう.


とりあえずここまでは問題無さそうです.

んで,しばし待たされたあと,こうなります.

ちなみにこれは権限の問題なので,後でもう一度実行してもネットワークの接続を確認してもやっぱりダメなものはダメです.

というわけで,"dxwebsetup.exe" はちゃんと管理者権限で実行して頂きましょう.

*1:まあこれが再配布禁止という可能性は低いとは思いますが,EULA を適当に漁った限りでは "dxwebsetup.exe" の文字を見つけられなかったのがちょっと不安.そういえば元々このインストーラが再配布可能だった記憶はないし,探せば探すほど再配布出来ないような気がしてくるんですけどどーしましょうね.というわけで聞いてみた.続報を待たれよ.→やっぱり再配布禁止だそうです

*2:時期的には Summer 2004.このとき依存する Runtime Version が .NET Framework 1.1 になった

*3:Visual C++ チームは逆に,「Windows XP より前の OS をサポートする開発者さんがんばってねー」てな感じで Side-by-Side DLL にさっさと移行しているあたりがおもしろいわけですけど