DirectX Runtime Redistribution
前回(id:NyaRuRu:20050609:p1)「DirectX 9.0 SDK Update (June 2005) から D3DX の再配布が云々」と書きましたが,誤解を招きそうな表現だったので補足しておきます.
DirectX 9.0 SDK Update (June 2005) では,再配布ファイルの「必須ファイル」と「オプションファイル」が見直されました.SDK 内のリリースノートによれば以下のようになります.
file name | file size | redist. condition |
---|---|---|
DXSetup.exe | 482,000 | 必須 |
DSetup32.dll | 2,245,840 | 必須 |
DSetup.dll | 75,472 | 必須 |
Dxupdate.cab | 67,440 | 必須 |
Jun2005_D3DX_26_x86.CAB | 1,065,813 | オプション |
Jun2005_D3DX_26_x64.CAB | 1,336,890 | オプション |
Jun2005_MDX_x86.CAB | 916,000 | オプション |
DirectX.CAB | 15,493,481 | オプション |
DXNT.CAB | 13,265,040 | オプション |
BDA.CAB | 703,080 | オプション |
BDAXP.CAB | 976,020 | オプション |
BDANT.CAB | 1,156,363 | オプション |
このうち「オプション」となっているファイルは必ずしも再配布ファイルに含める必要はありません.参考までに,以下に各ファイルがターゲットとする OS をまとめておきます.ただし,この表は正式に発表されているものの引用ではなく私の知識の範囲内で作成したものなので,実際に再配布する前にきちんとチェックを行ってください.
file name | file size | arch. | Windows 9x | Windows 2000 | Windows XP | Windows XP x64 | comment |
---|---|---|---|---|---|---|---|
Jun2005_D3DX_26_x86.CAB | 1,065,813 | 32bit | ○ | ○ | ○ | (○) | D3DX サポート. |
Jun2005_D3DX_26_x64.CAB | 1,336,890 | 64bit | ○ | D3DX サポート. | |||
Jun2005_MDX_x86.CAB | 916,000 | 32bit | ○ | ○ | ○ | (○) | Managed DirectX サポート.
|
DirectX.CAB | 15,493,481 | 32bit | ○ | DirectX 9.0c サポート. | |||
DXNT.CAB | 13,265,040 | 32bit | ○ | ○ | DirectX 9.0c サポート. | ||
BDA.CAB | 703,080 | 32bit | ○ | BDA サポート. | |||
BDAXP.CAB | 976,020 | 32bit | ○ | BDA サポート. | |||
BDANT.CAB | 1,156,363 | 32bit | ○ | BDA サポート. |
表で○の付いていない組み合わせは,そのファイルはその OS には必要ないことを意味します.例えば DirectX.CAB は Windows 9x のみが必要とするパッケージなので,最初から Windows 2000 以降のみのサポートとする場合は含める必要はありません.さらに,予め DirectX 9.0c Runtime が導入されている環境をターゲットとする場合は,DirectX.CAB 以下は丸ごと省略することができます.実際,容量食いの DirectX.CAB と DXNT.CAB を両方とも再配布ファイルから外せるようになったというのが,今回の再配布条件緩和の最大のポイントと言えるでしょう.Windows XP SP2 や Windows XP Professional x64 Edition では最初から DirectX 9.0c Runtime が入っていますしね.
ついで,主に Managed DirectX から DirectX に入られた方向けにもう一点.
- d3dx9_xx.dll に依存する Native アプリケーション
- d3dx9_xx.dll・Managed DirectX Runtime・.NET Framework 1.1 Runtime に依存する MDX アプリケーション
これらは Windows Update でカバーしきれないランタイムファイルを抱えている点では同じです.なにも Managed DirectX のみが困っているわけではありません.DirectX アプリケーションとして,環境チェックやユーザへの指示についてはよく考える必要があるでしょう(id:NyaRuRu:20050317:p2).
Native アプリケーションを主に作られている方にとっても,例えば Managed DirectX Runtime に依存していた NASA World Wind (id:NyaRuRu:20050111:p1) で,どれぐらい「インストールしたけどうまく動かない」という事例があったのかは Web 配布モデルの参考になるかもしれませんね.