Windows11でCOD4が起動しない?d3dx9_34.dllエラーの原因とDirectX 9ランタイムの安全な導入手順

Windows 11 Pro のノート PC で Call of Duty 4(COD4)を起動しようとしたときに「d3dx9_34.dll が見つからないため、コードの実行を続行できません」と表示されるトラブルは、古いゲームと新しい OS の「DirectX 世代差」によって起きる典型的な症状です。本記事では、原因の仕組みから安全な解決手順、やってはいけない対処まで、実運用レベルで詳しく解説します。

目次

d3dx9_34.dll が見つからないエラーの概要

Windows 11 Pro(64bit・DirectX 12 環境)の MSI 製ノート PC で、Call of Duty 4: Modern Warfare(以下 COD4)を起動しようとしたところ、次のエラーが表示されて起動できないケースがあります。

「d3dx9_34.dll が見つからないため、コードの実行を続行できません。プログラムを再インストールするとこの問題が解決する可能性があります。」

このエラーは COD4 特有の不具合ではなく、DirectX 9 時代のゲーム全般で発生する典型的なエラーです。Microsoft の Q&A やユーザーコミュニティでも、Windows 10/11 へのアップグレード後に COD シリーズや他の旧作タイトルで同様の「d3dx9_34.dll が見つからない」エラーが多数報告されています。

エラーメッセージには「プログラムを再インストールすると…」と書かれていますが、実際には COD4 を何度再インストールしても直らないことがほとんどです。問題の本質は「ゲームそのもの」ではなく、「OS 側にあるべき DirectX 9 の一部 DLL が無い」ことだからです。

原因:Windows 11 と DirectX 9 レガシーコンポーネントの関係

まず押さえておきたいのは、「DirectX のバージョン表示」と「個々の DLL の有無」は別物だという点です。

Windows 10 / 11 では、標準で最新の DirectX(DirectX 12)が含まれており、dxdiag を実行すると「DirectX バージョン: DirectX 12」と表示されます。しかし、これはあくまでも「OS が提供している DirectX ランタイムの世代」を示しているだけであり、古いゲームが必要とする d3dx9_34.dll のような個別 DLL が必ずしも揃っているわけではありません。

Microsoft のサポート情報でも、より新しい DirectX が入っている環境でも、一部のゲームやアプリが DirectX 9 のコンポーネント(例:d3dx9_35.dll など)を要求し、エラーになることがあると明記されており、その場合は DirectX End-User Runtime をインストールして不足 DLL を補うことが推奨されています。

今回問題になっている d3dx9_34.dll は、DirectX 9.0c 系列に含まれる「Direct3D 9 Extensions(D3DX9)」の一つで、2000年代中頃〜後半の多くのゲームが依存しているファイルです。 COD4(2007年前後のタイトル)も例外ではなく、この DLL が見つからないと起動できません。

しかし、Windows 11 のクリーンインストール直後の環境では、これら 古い D3DX9 系 DLL が入っていないことが多く、その結果として COD4 起動時に「d3dx9_34.dll が見つからない」というエラーが発生します。

項目状態 / 内容
OSWindows 11 Pro 64bit(DirectX 12 標準搭載)
ゲームCall of Duty 4: Modern Warfare(DX9 時代のタイトル)
不足しているものDirectX 9.0c の一部 DLL(d3dx9_34.dll など)
結果C0D4 起動時に「d3dx9_34.dll が見つからない」エラー

最優先の解決策:Microsoft 公式「DirectX End-User Runtime」の導入

この問題を根本的に解決するための王道かつ安全な手段が、Microsoft 公式の「DirectX End-User Runtime(Web Installer または June 2010 Redist)」をインストールすることです。

DirectX End-User Runtime とは?

「DirectX End-User Runtime」は、かつて配布されていた DirectX SDK に含まれていた レガシー用ランタイムライブラリをまとめてインストールするパッケージです。D3DX9 / D3DX10 / D3DX11、XAudio 2.7、XInput 1.3 など、古いゲームが参照するコンポーネントが含まれており、まさに COD4 のような年代のゲーム向けの「相互互換パック」のような位置づけです。

Microsoft 自身が配布しているパッケージであり、サードパーティ製の「怪しい DLL 配布サイト」とは異なり、信頼性と安全性の面で桁違いに安心できます。

DirectX 12 は上書きされないのか?

多くのユーザーが不安に思うポイントが「DirectX 12 が DirectX 9 に置き換わってしまうのでは?」という点ですが、これは誤解です。Microsoft のダウンロードページには、このパッケージは OS にインストール済みの DirectX ランタイムを変更せず、レガシーなコンポーネントを追加でインストールするだけであることが明記されています。

つまり、DirectX 12 はそのまま残り、その横に DirectX 9 用の DLL が「共存」する形になります。DirectX 10 や 11 以降のゲームはこれまで通り起動できますし、DirectX 9 向けゲームだけが新たに動くようになるイメージです。

Web インストーラと June 2010 Redist の違い

種類特徴向いているケース
DirectX End-User Runtime
Web Installer
必要なコンポーネントだけをインターネット経由でダウンロードする小さなインストーラ。オンライン環境で、余計なファイルを増やしたくない場合に最適。
DirectX End-User Runtimes
(June 2010)
全コンポーネントがまとめて入った約 100MB のオフラインパッケージ。複数台にまとめて導入したい場合や、ネットワーク制限が厳しい環境に向いている。

どちらを使っても COD4 の d3dx9_34.dll エラーは解消できるため、基本的には Web Installer で十分です。Web Installer でうまく行かない場合の保険として June 2010 Redist を使う、というイメージで良いでしょう。

DirectX End-User Runtime 導入の手順

以下は、初心者でも迷いにくいように整理した導入手順です。

  1. ブラウザで「DirectX End-User Runtime」を検索し、Microsoft 公式ダウンロードセンターのページを開きます。
  2. 言語を確認し、「ダウンロード」ボタンをクリックします。
  3. ダウンロードした実行ファイル(Web Installer または June 2010 Redist)を右クリックして「管理者として実行」します。
  4. 利用規約に同意し、案内に従って進めます。
  5. (June 2010 Redist の場合)一度展開先フォルダを指定 → 展開完了後、そのフォルダ内の DXSETUP.exe を実行します。
  6. インストールが完了したら、Windows を再起動します。
  7. 再起動後、COD4 を起動してエラーが消えているか確認します。

インストール作業の途中で特別な設定を変更する必要はありません。案内に沿って「次へ」を押していくだけで、必要な DirectX 9 系 DLL が OS に追加されます。

インストール後に確認すべきポイント

  • COD4 起動時のエラーメッセージ「d3dx9_34.dll が見つからない」が表示されなくなっているか。
  • 別の DirectX 12 対応ゲーム(最新タイトルなど)が引き続き正常に起動するか。
  • Windows Update やセキュリティソフトから特に警告が出ていないか。

DirectX End-User Runtime は長年にわたり多くの旧作ゲームで使われている定番パッケージであり、入れておくことで他の DX9 世代ゲームのトラブル予防にもなります。

ゲーム同梱の DirectX セットアップを実行する

Steam 版やパッケージ版の COD4 には、ゲームインストールフォルダ内に 専用の DirectX セットアップが同梱されている場合があります。このセットアップを実行すると、ゲームが必要とする DX9 DLL を一括で導入できます。

Steam 版 COD4 の例

Steam 版 COD4 では、次のような場所に DirectX セットアップが入っていることがあります(タイトルや配布時期によって異なります)。

  • Steam\steamapps\common\Call of Duty 4\_CommonRedist\DirectX\Jun2010\DXSETUP.exe
  • あるいは DirectX フォルダ内の DXSETUP.exe

この DXSETUP.exe を右クリックして「管理者として実行」し、案内に従って進めることで、ゲームが想定しているバージョンの DX9 コンポーネントを確実に導入できます。DirectX End-User Runtime(Web Installer / June 2010)と併用しても問題ありません。

パッケージ / 他ストア版の例

ディスク版や他の配信プラットフォーム版では、ゲームディスクやインストールフォルダ内に「DirectX」や「Redist」フォルダが用意されていることが多く、その中に同様の DXSETUP.exe が含まれています。

探し方の目安としては、インストールフォルダ内で「DXSETUP.exe」というファイル名を検索するのが早道です。

DirectX 9 を入れても大丈夫? よくある不安と誤解

「DirectX 12 が DirectX 9 に戻ってしまうのでは?」

繰り返しになりますが、DirectX End-User Runtime は 既存の DirectX ランタイムを変更せず、不足しているレガシーコンポーネントを「横に追加する」だけの仕組みです。

実際、Windows 10/11 で DirectX 9 をインストールしても、DirectX 10 や 11、12 に依存するゲームは問題なく動作することが複数の技術記事や Q&A で確認されています。

イメージとしては、

  • DirectX 12:最新世代の OS 標準ランタイム
  • DirectX 9 ランタイム:古いゲーム専用に追加される「アドオン DLL」

という構成で、どちらか一方だけが生き残るのではなく、用途に応じてゲーム側が使い分ける形です。

「Windows 11 にも DirectX 9 が入っているはずでは?」

確かに、Windows 10/11 では OS 側で DirectX 9 以降の基本コンポーネントが用意されていますが、すべての D3DX9 系 DLL が最初から揃っているわけではありません。

Microsoft のサポート情報でも、より新しい DirectX が入っているにもかかわらず、「d3dx9_xx.dll が見つからない」と表示される場合は、DirectX End-User Runtime のインストールが必要であると説明されています。

「DLL だけ拾ってくれば早いのでは?」という危険な近道

インターネット上には「d3dx9_34.dll をダウンロード」「dll エラーを即解決」といった謳い文句のサイトが多数存在しますが、これらから DLL を単体でダウンロードしてシステムフォルダにコピーする方法は強く非推奨です。

理由は大きく 3 つあります。

  • 安全性の問題:正規の DLL を装ったマルウェアが混入しているリスクがあります。
  • 整合性の問題:バージョンが合わなかったり、32bit/64bit を誤った DLL を入れると、別のエラーやクラッシュの原因になります。
  • 再現性の問題:一度は動いても、Windows Update などで環境が変化した際に再度問題が発生しやすくなります。

一方、DirectX End-User Runtime を使えば、Microsoft が想定した正式な手順で、必要な DLL 群をまとめて正しい場所に配置できるため、長期的にも安定した環境を作れます。

方法メリットデメリット
DirectX End-User Runtime を導入公式・安全・将来のゲームにも有効初回のみインストーラを実行する手間がある
DLL 単体を拾ってコピー一見すると手軽に見える安全性・整合性のリスクが高く、トラブルの元

まだ直らない場合に確認したいポイント

DirectX End-User Runtime とゲーム同梱の DirectX セットアップを実行してもまだ起動できない場合は、次のポイントを順に確認してみてください。

Steam 版の場合:ゲームファイルの整合性チェック

Steam 版 COD4 なら、Steam クライアントの「整合性チェック」で破損ファイルを修復できます。

  1. Steam を起動し、「ライブラリ」から COD4 を右クリック。
  2. 「プロパティ」→「インストール済みファイル」タブを開く。
  3. 「ゲームファイルの整合性を確認」ボタンをクリック。
  4. チェック完了後、再度 COD4 を起動してみる。

DirectX 自体ではなく、ゲーム側の実行ファイルや設定ファイルが壊れていた場合、この操作で修復できることがあります。

管理者として実行する

初回起動時に必要なファイルの展開や設定の書き込みが、権限不足で失敗しているケースもあります。COD4 のショートカットまたは実行ファイルを右クリックし、「管理者として実行」を選択して起動を試してみましょう。

これで起動できるようになった場合は、実行ファイルのプロパティから「常に管理者として実行」を有効にすることで、毎回の操作を簡略化できます。

グラフィックスドライバーを最新にする

DirectX の問題に見えて、実は GPU ドライバーの不具合が影響しているケースもあります。NVIDIA / AMD / Intel いずれの GPU でも、メーカー公式サイトから最新のドライバーをダウンロードし、クリーンインストール(上書きではなく完全入れ替え)を行うと改善する例が報告されています。

セキュリティソフトの干渉を確認する

一部のセキュリティソフトは、旧式のインストーラや DirectX コンポーネントを誤検知してブロックすることがあります。Windows Defender 以外の常駐セキュリティソフトを利用している場合、インストール中に警告やブロック履歴が出ていないかログを確認してみてください。

必要であれば、「一時的に保護を緩めてインストール → すぐに元に戻す」という最小限の緩和で対応し、常時無効化は避けましょう。

COD4 以外でも役立つ:d3dx9 系エラーの共通対処法

d3dx9_34.dll に限らず、d3dx9_24.dll / d3dx9_35.dll / d3dx9_43.dll など、番号違いの DLL が見つからないというエラーも、基本的には同じ原因・同じ対処で解決できます。

代表的なエラーメッセージ例は次の通りです。

表示されるメッセージ意味合い
The program can’t start because d3dx9_34.dll is missing…d3dx9_34.dll がシステムに存在しないか、破損している。
d3dx9_43.dll was not found…別のバージョン(43番)の D3DX9 DLL が不足している。
Error loading d3dx9_XX.dll. The specified module could not be found.ゲームが必要とする D3DX9 DLL が見つからず読み込みに失敗している。

これらはいずれも、DirectX End-User Runtime の導入でまとめて解決できる可能性が高いエラーです。逆に言えば、旧作ゲームを遊ぶ予定があるなら、最初に一度だけランタイムを導入しておくのがおすすめです。

実例フロー:Windows 11 + MSI ノート + COD4 を直すまで

ここまでの内容を踏まえ、実際のトラブルシューティングを「手順書」としてまとめると次のようになります。

ケース 1:オンライン環境(Steam 版 COD4)

  1. COD4 を起動 → 「d3dx9_34.dll が見つからない」エラーを確認。
  2. Microsoft 公式の DirectX End-User Runtime(Web Installer) をダウンロードし、管理者として実行 → インストール。
  3. Windows を再起動。
  4. Steam で COD4 の「プロパティ」→「インストール済みファイル」→「ゲームファイルの整合性を確認」を実行。
  5. COD4 を「管理者として実行」で起動してみる。
  6. まだダメなら、ゲームフォルダ内の _CommonRedist\DirectX\Jun2010\DXSETUP.exe を実行し、再度再起動。
  7. それでも起動しない場合、GPU ドライバー更新やセキュリティソフトのログ確認を行う。

ケース 2:オフライン寄りの環境(パッケージ版 COD4)

  1. ゲームディスクまたはインストールフォルダから「DirectX」「Redist」フォルダを探す。
  2. その中の DXSETUP.exe を管理者として実行。
  3. 可能であれば、別 PC で Microsoft 公式サイトから June 2010 Redist をダウンロードし、USB などで対象 PC に持ち込んで実行。
  4. インストール後に PC を再起動し、COD4 を起動してエラーが消えているか確認。

それでも解決しないときの最終確認ポイント

上記すべてを試してもなおエラーが続く場合、次のような切り分けを行うと原因に近づきやすくなります。

  • 別の DX9 世代ゲーム(例:同年代の FPS や RPG)が起動するかどうか
    • 起動する → COD4 側の問題(インストールや設定)の可能性が高い。
    • 起動しない → DirectX 9 ランタイム全体、または OS 側の問題の可能性がある。
  • イベントビューア(Windows ログ → アプリケーション) に COD4 起動時のエラーが記録されていないか。
  • システムファイルチェック(sfc /scannow)で OS 側の破損がないか。

ここまで来ると、単なる DLL 不足というよりは、Windows のシステムファイルやレジストリ、あるいはストレージの不良が影響している可能性も出てきます。その場合は、バックアップを取った上での OS 再インストールや、ハードウェア診断ツールの利用も視野に入れてください。

まとめ:DX9 ランタイムを正しく追加して COD4 を復活させる

COD4 起動時の「d3dx9_34.dll が見つからない」エラーは、一見すると難しそうに見えますが、ポイントさえ押さえれば対処はシンプルです。

  • 原因:Windows 11 には DirectX 12 が入っているが、COD4 が必要とする DirectX 9 系 DLL(d3dx9_34.dll)が標準で入っていないため。
  • 第一の解決策:Microsoft 公式の DirectX End-User Runtime(Web Installer もしくは June 2010 Redist)をインストールし、不足している DX9 ランタイムを補う。
  • 補助策:ゲーム同梱の DirectX セットアップ(DXSETUP.exe)を実行し、Steam 版なら「ゲームファイルの整合性チェック」も行う。
  • 注意点:DLL 単体を配布サイトから拾ってシステムフォルダにコピーするのは危険なので避ける。
  • 副次的なメリット:一度ランタイムを導入しておけば、他の DX9 世代ゲームの「d3dx9_xx.dll が見つからない」エラーもまとめて予防・解消できる。

Windows 11 のような最新 OS でも、DirectX 9 時代の名作を快適に遊ぶことは十分可能です。OS をダウングレードする必要は一切なく、古いゲームのために DirectX 9 ランタイムを「追加」してやるだけで、COD4 をはじめとした多くのタイトルが再び動き出します。

今後、別のゲームで「d3dx9_◯◯.dll が見つからない」というエラーが出たとしても、ここで紹介した手順を思い出してもらえれば、落ち着いて対処できるはずです。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次