Microsoft、D3DXのNuGetパッケージを提供開始
2021年3月5日 17:37
あるAnonymous Coward 曰く、 Microsoftは米国時間3月1日、レガシーDirectX SDKに含まれていたD3DXをNuGetパッケージにして公開した(Games for Windows and the DirectX SDK blog)。 現時点で「DirectX 9.0cが必要なのでDirectXエンドユーザーランタイムをインストールする必要がある」と言ったとき、実際に必要なのはほとんどの場合D3DX、XInput 1.3、XAudio 2.7である。このうちXInputとXAudioについてはOSに後継バージョンのランタイムが含まれており移行は比較的容易だが、D3DXは後継ライブラリに直接の代替が存在しない機能も多く、DirectXエンドユーザーランタイムへの依存解消の妨げになっていた。 D3DXはレジストリへの登録を必要とせず、実のところDLLをアプリの実行ファイルと同じフォルダーに置くだけで技術的には使えたのだが、DirectX SDKのEULAではインストーラーの構成ファイルとしてCABファイルでの配布しか許諾されていなかった。今後はこのNuGetパッケージから取り出したDLLを直接アプリに含めての配布も可能となる。パッケージ内のDLLはSHA-256で署名し直されているが、それ以外は2010年リリースのものと変わりない(署名が含まれるファイル末尾の.rsrcセクションを除いてバイナリ完全一致である)。 なお、このパッケージは自作アプリのDirectXエンドユーザーランタイム依存を解消したい(がD3DX使用部分を全面的に書き換えるだけの工数は取れない)開発者が使用するものであり、開発者が対応してくれなかったり、失踪していたり、メーカーが倒産していたりする場合にエンドユーザーが取る対応はこれまでと変わりない(DirectXエンドユーザーランタイムをインストールする)。