DirectX SDK の再配布可能ファイルには、D3DX dll の全履歴が含まれています。DirectX 再頒布可能パッケージの最新バージョンをインストールすると、これらの dll のすべてのバージョンでシステムが終了するはずです。再配布可能コンポーネントのサイズを縮小するために、再配布可能コンポーネントのディレクトリ構造から cab ファイルを削除することにより、アプリケーションが必要なファイルのみをインストールすることが可能であり、許可されています。たとえば、37 ではありません。
アプリケーションから D3DX および D3DCOMPILER dll の依存関係を削除すると、d3d9 d3d10 および d3d11 コア dll がバージョンに依存せず、Windows サービス パック リリースにも関連付けられているため、アプリケーションが動作することを確認できます (つまり、Vista 用の D3D11 は Vista に由来します)。 SP2 または Win7 ストック インストールなど)。
依存関係を削除してアプリを起動させるもう 1 つの方法は、dll を遅延ロード モジュールにすることです。これにより、必要な場合にのみロードされます (開発環境でシェーダーをコンパイルするなど)。シェーダーがエンドユーザーのマシンに適切に存在することが確実である限り、シェーダーをコンパイルする必要はなく、クラッシュすることもありません。LoadLibrary を呼び出して関数を手動で呼び出すことは、より安全な選択であり、より適切なエラー メッセージを選択できますが、より多くの作業が必要になります。