通常、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でシステムファイルを確認することを推奨しています。
- 管理者として「Windows ターミナル」またはコマンド プロンプトを開きます。
DISM.exe /Online /Cleanup-image /Restorehealthを入力し、コマンドが完了するまで待ちます。
sfc /scannowを入力し、検査が完了するまで待ちます。- コンピューターを再起動します。
- エラーが発生していたプログラムを開きます。
確認方法: SFCが完了し、再起動後に元のメッセージが再表示されないことを確認します。手順の詳細は、Microsoftのシステム ファイル チェッカーの案内 を参照してください。
方法2:Fionn DLL Fixer でDLLを診断・修復する
原因が不明な場合に推奨する方法: Fionn DLL Fixerは、検出可能なDLLの問題とWindowsシステムコンポーネントの問題を確認します。完全スキャンとカテゴリ別スキャン、修復、再チェックに対応しており、依存関係、コンポーネント、バージョンの不一致を手動で特定しにくい場合に実用的です。
- Fionn DLL Fixerを起動し、DLLとシステムの自動スキャン結果が表示されるまで待ちます。

- スキャン後、「Repair」をクリックして検出された問題の修復を開始します。

- 処理が完了するまで待ちます。修復中はボタンに「Fixing」と表示されます。

- 確認ダイアログの「Ok」をクリックし、求められた場合はコンピューターを再起動します。

- 問題が続く場合は「Recheck」をクリックします。新しい問題が検出された場合は、もう一度「Repair」を選択します。

確認方法: 再チェック後、エラーを表示していたプログラムまたはゲームを起動します。
方法3:アプリまたは公式コンポーネントを復元する
使用する場面: 起動しないのが1つのプログラムまたはゲームだけである場合、またはDLL名がランタイムを明確に示している場合です。再インストールはアプリ固有のファイルを復元します。Visual C++とDirectXには、開発元が推奨する公式インストーラーを使用してください。
- アプリ名と正確なエラーメッセージを記録します。
- プログラムを終了します。
- 「設定」→「アプリ」→「インストールされているアプリ」を開き、利用できる場合は「修復」を使用します。

- 修復がない、または修復しても解決しない場合は、アプリをアンインストールしてWindowsを再起動します。
- 開発元の公式サイト、またはプログラムを入手したストアから新しいコピーをインストールします。
- 開発元がVisual C++、DirectX、または別のコンポーネントを指定している場合は、提供元の公式ページからインストールします。
確認方法: 問題が起きていたプログラムが、以前のメッセージを表示せずに起動することを確認します。他のアプリでもエラーが発生する場合は、システムの復元または診断に戻ってください。
方法4:システムの復元を使用する
使用する場面: ドライバー、プログラム、または更新プログラムのインストール後にエラーが始まり、以前に作成された復元ポイントがある場合です。
- Windowsの検索で「復元ポイントの作成」と入力し、表示された項目を開きます。

- 「システムの保護」タブで「システムの復元」を選択します。

- DLLエラーが発生する前に作成された復元ポイントを選択します。
- 影響を受けるプログラムを確認し、復元を確定します。
- 再起動後、問題のアプリを確認します。
確認方法: 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診断を実行します。
Emily Carter