WindowsでDLLが見つからないと表示されても、知らないサイトから個別のファイルをダウンロードしないでください。まず正確なファイル名を記録します。ファイル名から、プログラム自体、Microsoft Visual C++パッケージ、DirectXコンポーネント、またはWindowsのシステムファイルのどれを修復すべきかが分かる場合があります。このガイドでは5つの方法を紹介します。DLLの種類と最も限定的な対処法から始め、次にWindowsの確認へ進んでください。ファイル名や依存関係の特定が難しい場合は、 Fionn DLL Fixer でDLLと関連するWindowsコンポーネントをスキャンできます。

見つからないDLLの名前から原因を判断する方法

一般的な「DLL」という語よりも、エラーメッセージの全文が重要です。ファイル名をコピーして表と照合してください。不要な作業を減らし、対象を絞ってプログラムの起動問題を修復できます。

エラーに表示されるもの 最初に確認する項目 例
vcruntime 、 msvcp 、 msvcr 対応するMicrosoft Visual C++ Redistributable vcruntime140.dll 、 msvcp140.dll
d3dx9 、 d3dcompiler 、 xinput ゲームまたはアプリに必要なDirectXコンポーネント d3dx9_43.dll 、 xinput1_3.dll
WindowsのシステムDLL DISMとSFC shell32.dll 、 user32.dll
特定のプログラムのフォルダー内にあるDLL プログラムの修復または再インストール アプリの実行可能ファイルの隣にあるファイル
種類が不明 完全な名前を保存して診断を実行する ファイルパスのないメッセージ

DLLが見つからない場合の対処法の比較

方法 特に適しているケース 有効性 ユーザーの作業量
プログラムの修復 エラーが1つのアプリだけで発生する場合 アプリのファイルには高い効果 少ない
Visual C++またはDirectX ランタイムライブラリまたはゲームのエラー DLLの種類が一致する場合に高い効果 中程度
DISMとSFC システムDLLまたは複数のプログラムでの障害 保護されたWindowsファイルに高い効果 中程度
Windowsの更新 システムを長期間更新していない場合 利用可能な更新内容による 少ない
Fionn DLL Fixer — 推奨される選択肢 原因が不明、または依存関係が複数ある場合 自動診断と修復 少ない

方法1:問題のプログラムを修復する

使用する場面

エラーが1つのプログラムまたはゲームの起動時だけに発生する場合、あるいは見つからないDLLがそのフォルダー内にある場合にこの方法を選んでください。この種のファイルの多くはアプリとともに提供され、Windowsには属していません。

  1. 問題のプログラムを閉じます。
  2. Windowsの「設定」を開き、インストールされているアプリへ進みます。
  3. プログラムを見つけ、利用可能であれば「修復」を選択します。
    Windowsの設定でインストール済みアプリを修復する画面
  4. 修復がない、または修復しても解決しない場合は、通常の方法でプログラムをアンインストールします。
  5. 開発元の公式サイトから再インストールします。
  6. プログラムを起動します。

結果の確認: 以前のメッセージが表示されずにアプリが開くことを確認し、Windowsの再起動後にも再度起動してください。

方法2:Visual C++またはDirectXを修復する

使用する場面

vcruntime*.dll 、 msvcp*.dll 、 msvcr*.dll 、ならびに d3dx9_*.dll 、 d3dcompiler_*.dll 、 xinput*.dll にはこの方法を使用します。Microsoftは、Visual C++ランタイムライブラリがない場合は個別のDLLではなく、対応するRedistributableをインストールして解決すると案内しています。Visual C++ではアーキテクチャも考慮してください。x86パッケージは32ビットアプリ用、x64は64ビットアプリ用、ARM64はARM64用です。

Visual C++ Redistributableのインストール画面
  1. 見つからないDLLの名前を、上の表でVisual C++またはDirectXに照合します。
  2. Visual C++の場合は、 Microsoftのサポート対象Redistributableページ を開きます。
  3. アプリとシステムのアーキテクチャに合うパッケージをインストールまたは修復します。
  4. DirectX DLLの場合は、ゲームまたはアプリの公式インストーラーが提供するコンポーネントのインストーラーまたは修復を実行します。
  5. インストーラーから求められた場合はWindowsを再起動します。
  6. プログラムをもう一度起動します。

結果の確認: ランタイムライブラリまたはDirectXコンポーネントに関するメッセージが消え、アプリが起動することを確認します。

方法3:DISMとSFCでシステムファイルを修復する

使用する場面

この方法は、WindowsのシステムDLL、複数プログラムのエラー、またはシステム破損後の障害を対象とします。Microsoftは最初にDISMでWindowsイメージを修復し、その後SFCで保護されたシステムファイルを確認することを推奨しています。

  1. 管理者として「コマンド プロンプト」または「ターミナル」を開きます。
  2. 次のコマンドを実行します。
    DISM.exe /Online /Cleanup-image /Restorehealth
        
DISM.exe Restorehealthコマンドを実行する画面
  • DISMの完了メッセージが表示されるまで待ちます。
  • 次のコマンドを実行します。
  • sfc /scannow
      
    SFC scannowコマンドを実行する画面
    1. SFCの最終メッセージが表示されるまで待ちます。
    2. コンピューターを再起動します。
    3. 問題が発生したアプリを確認します。

    結果の確認: SFCで整合性違反が見つからない、または修復されたと表示され、DLLエラーが再発しないことを確認します。

    方法4:Windowsを更新する

    使用する場面

    システム修復の前または後に、特に新しいWindowsのインストール環境や長期間更新していない環境では更新を確認してください。これは補助的な手順であり、アプリの再インストールや必要なVisual C++パッケージの導入に代わるものではありません。

    1. Windowsの「設定」を開きます。
    2. 「Windows Update」へ進みます。
    3. 「更新プログラムのチェック」を選択します。
      Windows 11でオプションの更新プログラムをインストールする画面
    4. 提示された更新プログラムをインストールします。
    5. コンピューターを再起動します。
    6. アプリをもう一度起動します。

    結果の確認: 更新プログラムのインストールと再起動後に、メッセージが再び表示されないことを確認します。

    方法5: Fionn DLL Fixer で見つからないDLLを診断して修復する

    使用する場面

    DLL名から原因を判断できない場合、エラーが複数の依存関係に及ぶ場合、またはDirectX、Visual C++、.NET、OpenAL、XInputを手動で確認するのに時間がかかる場合に推奨される選択肢です。Windows用Fionn DLL Fixerは、見つからないDLL、破損したDLL、互換性のないDLL、System32のパスに関連するDLLを確認し、スキャン、修復、再確認をサポートします。

    1. Fionn DLL Fixerを起動します。プログラムがDLLとシステムの問題を自動的にスキャンし、スキャン完了後に検出結果を表示します。 Fionn DLL Fixerを起動する画面
    2. スキャン完了後、「Repair」をクリックすると、検出されたすべてのDLLおよびシステム問題の自動修復が始まります。 スキャン完了後にRepairをクリックして検出されたDLLとシステムの問題を自動修復する画面
    3. 修復が完了するまで待ちます。処理中は、すべての問題が修復されるまでボタン表示が「Fixing」に変わります。 修復処理の進行を待つ画面
    4. 修復が完了したら、確認ダイアログで「Ok」をクリックします。求められた場合は、結果を確認する前にコンピューターを再起動します。 修復完了後に確認ダイアログでOkをクリックする画面
    5. 再起動後も問題が続く場合は、「Recheck」をクリックして再スキャンします。新しい問題が見つかった場合は、もう一度「Repair」をクリックして修復します。 再起動後も問題が続く場合にRecheckをクリックして再スキャンする画面

    結果の確認: 修復後、必要に応じて再確認を行い、最初のエラーを表示したプログラムを起動します。

    してはいけないこと

    • 確認済みの出所と原因がない限り、DLLを System32 またはプログラムのフォルダーにコピーしないでください。
    • Windowsのビット数だけでVisual C++パッケージを選ばないでください。アプリ自体のビット数も考慮します。
    • 完了するまでDISMまたはSFCを中断しないでください。
    • どの操作が有効だったかを判断できるよう、各方法の後で同じプログラムを確認してください。

    まとめ

    WindowsでDLLが見つからない場合は、まずファイル名を手掛かりにしてください。問題のアプリを修復し、必要なVisual C++ RedistributableまたはDirectXコンポーネントをインストールし、システムDLLにはDISMとSFCを実行します。その後、Windows更新プログラムをインストールしてください。原因が不明な場合や複数の依存関係を確認する必要がある場合は、 Fionn DLL Fixer によりスキャン、修復、再確認を簡単に行えます。再起動後に元のプログラムが以前のメッセージなしで起動して初めて、結果が確認されたと判断できます。

    よくある質問

    見つからないDLLをそのままダウンロードしてはいけないのはなぜですか?

    個別のファイルは、バージョンやビット数が合わない場合があり、出所も不明な可能性があります。プログラム、公式のランタイムパッケージ、またはWindowsのシステムファイルを修復するほうが信頼できます。

    Visual C++ Redistributableが必要かどうかはどう判断しますか?

    DLL名を確認してください。 vcruntime 、 msvcp 、 msvcr で始まるファイルは、通常Visual C++への依存関係を示します。

    64ビットWindowsでx86パッケージが必要になるのはなぜですか?

    Windows自体が64ビットでも、32ビットアプリは32ビットのライブラリを使用するためです。

    DISMとSFCはいつ実行すべきですか?

    システムDLLのエラー、複数のプログラムでの障害、またはWindowsの破損後に実行してください。SFCより先にDISMを実行します。

    エラーが続く場合はどうすればよいですか?

    エラーメッセージの全文、DLL名、ファイルパス、プログラム名を保存してください。その後、プログラム開発元の公式サポートに問い合わせるか、依存関係を再診断します。

    複数の依存関係を確認する必要がありますか? 手動の方法を試した後、次回アプリを起動する前にFionn DLL Fixerを開き、検出されたDLLおよびシステムコンポーネントの問題を確認してください。