通常、DLLを単体で再インストールすることはありません。システムDLLはWindowsの機能で復元し、アプリのDLLはアプリまたは公式コンポーネントを再インストールして復元します。そのため、WindowsでDLLを再インストールする方法 を探している場合も、任意のサイトからファイルをダウンロードしたり、システムフォルダーへコピーしたりしないでください。Windowsとアプリは、配置場所、ビット数、依存関係を考慮してライブラリを検索します。以下では、Windows 10と11向けの4つの方法を説明します。まずエラーの種類を判断し、適切な方法を選んでください。

復元すべきDLLを判断する方法

DLLの所属先 対処方法
Windowsのシステムコンポーネント DISMを実行してからSFCを実行します。
特定のアプリまたはゲーム アプリの修復または再インストールを使用します。
Visual C++ Runtime Microsoftの公式Redistributableパッケージをインストールします。
DirectXまたは別のランタイム アプリ開発元が指定する公式コンポーネントをインストールします。
不明な提供元 最初に診断を実行し、手動でファイルを置き換えないでください。

DLLが見つからないエラーに表示される正確なファイル名と、エラーが発生するアプリを記録してください。複数のアプリやWindowsコンポーネントで問題が起きる場合は、システム側の原因である可能性が高くなります。1つのゲームまたはアプリだけで発生する場合は、先にそのインストールと依存関係を確認してください。

DLLを再インストールする方法の簡単な比較

方法 適しているケース 有効性 ユーザーの作業量
DISMとSFC Windowsシステムファイルの問題、複数のアプリで起きるエラー システムコンポーネントの破損には高い 中程度
Fionn DLL Fixer 原因不明、依存関係、複数のエラー 自動診断と修復 少ない
アプリまたはコンポーネントの再インストール 特定のアプリ、ゲーム、既知のランタイム 局所的な原因には高い 中程度
システムの復元 最近のWindows変更後に発生したエラー 利用可能な復元ポイントに左右される 中程度

方法1:Windowsの機能でシステムDLLを復元する

使用する場面: Windows更新後にエラーが発生した、複数のプログラムに影響している、またはシステムコンポーネントに関係する場合です。Microsoftは、最初にDISMでWindowsイメージを復元し、その後SFCでシステムファイルを確認することを推奨しています。

  1. 管理者として「Windows ターミナル」またはコマンド プロンプトを開きます。
  2. DISM.exe /Online /Cleanup-image /Restorehealth を入力し、コマンドが完了するまで待ちます。 DISMによるWindowsイメージ復元コマンド
  3. sfc /scannow を入力し、検査が完了するまで待ちます。
  4. コンピューターを再起動します。
  5. エラーが発生していたプログラムを開きます。

確認方法: SFCが完了し、再起動後に元のメッセージが再表示されないことを確認します。手順の詳細は、Microsoftのシステム ファイル チェッカーの案内 を参照してください。

方法2:Fionn DLL Fixer でDLLを診断・修復する

原因が不明な場合に推奨する方法: Fionn DLL Fixerは、検出可能なDLLの問題とWindowsシステムコンポーネントの問題を確認します。完全スキャンとカテゴリ別スキャン、修復、再チェックに対応しており、依存関係、コンポーネント、バージョンの不一致を手動で特定しにくい場合に実用的です。

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

確認方法: 再チェック後、エラーを表示していたプログラムまたはゲームを起動します。

方法3:アプリまたは公式コンポーネントを復元する

使用する場面: 起動しないのが1つのプログラムまたはゲームだけである場合、またはDLL名がランタイムを明確に示している場合です。再インストールはアプリ固有のファイルを復元します。Visual C++とDirectXには、開発元が推奨する公式インストーラーを使用してください。

  1. アプリ名と正確なエラーメッセージを記録します。
  2. プログラムを終了します。
  3. 「設定」→「アプリ」→「インストールされているアプリ」を開き、利用できる場合は「修復」を使用します。
    Windowsの設定でインストール済みアプリを修復する画面
  4. 修復がない、または修復しても解決しない場合は、アプリをアンインストールしてWindowsを再起動します。
  5. 開発元の公式サイト、またはプログラムを入手したストアから新しいコピーをインストールします。
  6. 開発元がVisual C++、DirectX、または別のコンポーネントを指定している場合は、提供元の公式ページからインストールします。

確認方法: 問題が起きていたプログラムが、以前のメッセージを表示せずに起動することを確認します。他のアプリでもエラーが発生する場合は、システムの復元または診断に戻ってください。

方法4:システムの復元を使用する

使用する場面: ドライバー、プログラム、または更新プログラムのインストール後にエラーが始まり、以前に作成された復元ポイントがある場合です。

  1. Windowsの検索で「復元ポイントの作成」と入力し、表示された項目を開きます。
    復元ポイントの作成を開く画面
  2. 「システムの保護」タブで「システムの復元」を選択します。
    システムの保護でシステムの復元を選択する画面
  3. DLLエラーが発生する前に作成された復元ポイントを選択します。
  4. 影響を受けるプログラムを確認し、復元を確定します。
  5. 再起動後、問題のアプリを確認します。

確認方法: Windowsが起動し、アプリが元のエラーなしで開くことを確認します。適切な復元ポイントがない場合は、別の方法を使用してください。

System32とSysWOW64:DLLをコピーすべきでない場所

64ビット版Windowsでは、System32 には主に64ビットのシステムコンポーネントがあり、SysWOW64 は32ビット環境を処理します。WOW64にはファイルシステムのリダイレクト機能もあります。そのため、DLL名だけからコピー先フォルダーを確実に判断することはできません。手動コピーではエラーを解消できなかったり、バージョンの競合を生んだりする可能性があります。Windows、アプリ、または公式の依存関係パッケージという問題の原因を復元してください。

regsvr32でDLLを登録する必要はあるか

いいえ。DLLが見つからないエラーの万能な修復方法としてregsvr32 を使用しないでください。このユーティリティは、対応する登録の仕組みをサポートするDLLを登録するためのものです。ファイルの欠落や読み込みエラーがあるからといって、登録で解決するとは限りません。まず、そのライブラリがWindows、アプリ、またはランタイムのコンポーネントかを判断してください。

まとめ

WindowsでDLLを安全に復元するには、個別ファイルを探すのではなく、最初にエラーの原因を判断してください。複数のプログラムで問題が起きる場合は、DISMとSFCを実行します。問題が1つのプログラムに限定される場合は、そのプログラムと公式コンポーネントを修復または再インストールしてください。原因が不明な場合、またはメッセージが複数ある場合は、Fionn DLL Fixer を使用すると、検出可能なDLLの問題とシステムコンポーネントの問題を確認し、修復と再チェックを実行できます。いずれの方法でも必要に応じてWindowsを再起動し、必ず問題のアプリを起動して確認してください。エラーが続く場合は、正確なメッセージを開発元へ伝えてください。

よくある質問

個別のDLLをダウンロードしてSystem32に置いてもよいですか

推奨しません。ファイルがプログラムのバージョン、ビット数、またはインストール元と一致しない可能性があります。Windows、アプリ、または公式コンポーネントを復元する方が安全です。

なぜSystem32には64ビットファイル、SysWOW64には32ビットファイルがあるのですか

これは64ビット版WindowsにおけるWOW64の互換性機構の一部です。ファイルシステムのリダイレクトがあるため、これらのフォルダーでの手動置換は特に信頼できません。

常にSFCの前にDISMを実行する必要がありますか

システムコンポーネントを復元する場合、Microsoftは最初にDISM、次にSFCを実行することを推奨しています。1つのプログラムだけのエラーなら、通常は先にそのインストールを確認する方が適切です。

どのDLLエラーにもregsvr32は有効ですか

いいえ。これは登録をサポートするDLL専用です。DLLが見つからないというメッセージだけを理由にregsvr32を実行すべきではありません。

再インストール後もエラーが戻る場合はどうすればよいですか

正確なDLL名を確認し、必要な公式コンポーネントを調べ、他のプログラムでもエラーが起きていないことを確認してください。その後、システム検査またはDLL診断を実行します。