※本ページにはプロモーション(広告)が含まれています
📑 この記事の目次(タップで開く)
- Windowsで「DLLファイルが見つかりません」エラーの原因と対処法
- DLLファイルとは何か
- エラーに出たDLL名で対処を分岐する(30秒診断)
- DLLエラーが出る主な原因
- 対処法1:まずPCを再起動する
- 対処法2:アプリを再インストールする
- 対処法3:Visual C++ 再頒布可能パッケージをインストールする
- 対処法4:DirectX エンドユーザーランタイムをインストールする
- 対処法5:システムファイルチェッカー(SFC)を実行する
- 対処法6:DISMコマンドでWindowsイメージを修復する
- 対処法7:Windows Updateを実行する
- 対処法8:マルウェアスキャンを実行する
- やってはいけない危険な対処法
- よくある質問(FAQ)
- まとめ
Windowsで「DLLファイルが見つかりません」エラーの原因と対処法
「〇〇.dll が見つかりません」「〇〇.dllが見つからないためプログラムを開始できません」──Windowsでアプリを起動しようとした際に、このようなエラーメッセージが出て困っているユーザーは多くいます。DLLエラーは怖そうに見えますが、原因はいくつかに絞られており、正しい手順で対処すれば多くのケースで解決できます。
この記事では、DLLエラーが出る原因とその対処法を、初心者にもわかりやすく解説します。
この記事でわかること
- DLLファイルとは何か(初心者向けの解説)
- DLLエラーが出る代表的な原因
- Visual C++ 再頒布可能パッケージのインストール方法
- システムファイルチェッカー(SFC)で修復する手順
- DISMコマンドによるWindowsイメージ修復
- エラーに出たDLL名で対処を分岐する30秒診断(Edge・Zoom・業務ソフトなど、アプリに同梱されたDLLの見分け方)
- 絶対にやってはいけない危険な対処法
DLLファイルとは何か
DLL(Dynamic Link Library)とは、複数のプログラムが共通して使う機能をまとめたファイルです。Windowsでは「.dll」という拡張子のファイルとして保存されています。
例えばExcelとWordが同じ「印刷機能」を使う場合、それぞれがバラバラに機能を持つのではなく、共通のDLLファイルを参照します。これにより、プログラムのサイズを小さく保てます。
| DLL名の例 | 役割 | 解決策 |
|---|---|---|
| VCRUNTIME140.dll | Visual C++ ランタイム | Visual C++ 再頒布可能パッケージ |
| MSVCP140.dll | Visual C++ ランタイム | Visual C++ 再頒布可能パッケージ |
| d3dx9_43.dll | DirectX(ゲーム用) | DirectX エンドユーザーランタイム |
| xinput1_3.dll | ゲームコントローラー | DirectX エンドユーザーランタイム |
| System32内のDLL | Windowsのコア機能 | DISM→SFCの順(対処法6→対処法5) |
エラーに出たDLL名で対処を分岐する(30秒診断)
エラー文に出ている「〇〇.dll」が誰のファイルかで、正しい対処は変わります。Microsoftの公式資料(Microsoft Learn「Dynamic-Link ライブラリ」)でも、DLLで問題が起きているユーザーは「DLL を公開するソフトウェア ベンダーのカスタマー サポート」に問い合わせるよう案内されており、すべてのDLLエラーにSFCやVisual C++のインストールを試すのは遠回りです。まず、エラー文のDLL名を次の4つに分けてください。
まずDLL名を4つに分類する
| 分類 | 見分け方(DLL名の例) | 最初にやること | 根拠となる公式資料 |
|---|---|---|---|
| A. Microsoftのランタイム | Visual C++のDLL(vcruntime140.dll/msvcp140.dll/mfc140u.dll、msvcr120.dll/msvcp120.dll、msvcr100.dll など)と、DirectXのDLL(d3dx9_43.dll/xinput1_3.dll など) | Visual C++のDLLのうち、ファイル名の数字が140のものは、対処法3の手順で最新のVisual C++ 再頒布可能パッケージ(v14)をx86版とx64版の両方入れる(Microsoftの案内では、Visual Studio 2015以降で作られたアプリは最新のv14で動くため、2015〜2022を別々に入れる必要はない)。数字が120・110・100などのVisual C++のDLLは最新のv14では代わりにならないため、対処法3のMicrosoft Learnのページの「サポートされていないレガシ バージョン」で該当する版(120ならVisual Studio 2013〔VC++ 12.0〕)を確認し、x86版とx64版を入れる。d3dx9_43.dll・xinput1_3.dllのようなDirectXのDLLは対処法4へ(入れても同じDLL名が出る場合はアプリのベンダーに確認する)。最新のv14が対応するのはWindows 10/11などで、それより古いWindowsで必要な版はアプリのベンダーに確認する | Microsoft Learn「サポートされている最新の Visual C++ 再頒布可能パッケージのダウンロード」 |
| B. アプリに同梱されたDLL | エラーを出したアプリの名前と一緒に表示される(例:Microsoft Edgeのmsedge_elf.dll、Zoomのcmmlib.dll、業務ソフトのw3btrv7.dll、NW.jsで作られたアプリのnw_elf.dll) | そのアプリの「修復」(対処法2の一覧でアプリを選び、「変更」や「詳細オプション」に「修復」がある場合だけ。無いアプリもあります)→「再インストール」(対処法2。ゲームや業務ソフトは、アンインストールでデータが消えないか先にアプリの公式ヘルプや提供元で確認)→それでも同じDLL名が出るならアプリのベンダー窓口へ。System32フォルダへの手動コピーや配布サイトからの入手はしない(バージョン不一致・署名不明のため) | Microsoft サポート「Windows でアプリとプログラムを修復する」/Microsoft Learn「Dynamic-Link ライブラリ」 |
| C. Windows本体のDLL | C:\Windows\System32 配下のファイル名を指してアプリ起動時にエラーになる、複数のアプリで同時に出る(vcruntime140.dllなどランタイムのDLLはAを優先。イベントビューアーの記録だけの場合はD) | 対処法6のDISM→対処法5のSFCの順に実行する(Microsoft公式はDISMを先に実行するよう案内)。DLL名が分かっていれば、管理者のコマンド プロンプトで sfc /scanfile=C:\Windows\System32\〇〇.dll のように1ファイルだけ検査・修復を試せる | Microsoft サポート「システム ファイル チェッカー ツールを使用して不足または破損しているシステム ファイルを修復する」/Microsoft Learn「sfc」 |
| D. ライブラリの古い版が使うDLL・イベントログ上の記録だけ | detoured.dll(Microsoft Detoursというライブラリの古い版が使うマーカーDLL)、イベントビューアーの「拡張可能カウンター DLL … sysmain.dll を読み込めません」 | detoured.dllはWindowsの保護対象ファイルではないため、SFC・DISMでは直らない。エラーを出したアプリの公式ヘルプにある修復・再インストール手順に従い、それでも出る場合はそのアプリのサポートへ。sysmain.dllの記録は、ファイルの場所こそWindows本体(System32)を指しますが、アプリ起動時のエラーではなくイベントビューアーの記録だけの症状なので、Cではなくこの分類で扱う。PCの動作に支障がなければ、この記録を理由に対処法1〜8を試す必要はない | Microsoft Detours FAQ(detoured.dllのマーカーファイルはDetours 3.0で廃止) |
実際によく検索されているDLL名と対処の対応表
| DLL名 | 出る場面 | 分類 | やること | 止めどき・注意 |
|---|---|---|---|---|
| msedge_elf.dll | Microsoft Edgeの起動時 | B | Microsoft公式の案内どおりEdgeを修復する。Windows 11では「設定」→「アプリ」→「インストールされているアプリ」で Microsoft Edge の「変更」→「修復」(項目名や経路はWindowsのバージョンや更新で異なります。最新の手順はMicrosoft公式「Microsoft Edge が機能しない場合の対応策」で確認してください)。前提として、ほかのユーザーも含め全員がEdgeを閉じていること、管理者権限があること、インターネットに接続していることが必要です | Microsoft公式では、修復によってブラウザーのデータや設定は影響を受けないとされています。「変更」が押せない場合は組織がEdgeを管理している可能性があるため、システム管理者へ。DLLの名前変更や再ダウンロードは不要 |
| cmmlib.dll | Zoom関連のプログラムの起動時(Zoomの名前と一緒に表示される場合) | B | Zoomをアンインストールしてから、Zoom公式サイトのダウンロードセンターから入れ直す。Zoom公式は同種のDLL欠損(XmppDll.dll)について、インストールの問題で正しい場所に配置されなかったこと(原文:…this means that installation issues have prevented XmppDll.dll from being installed in the correct directory)を原因とし、アンインストール→再インストールを案内しています(cmmlib.dll専用の案内は見当たらないため、同じ手順を当てはめています) | 再インストール後も同じDLL名が出る場合はZoomのサポートへ。Zoom以外のアプリ名と一緒に出る場合は、そのアプリの提供元へ |
| nw_elf.dll | 特定のアプリ(NW.jsという仕組みで作られたアプリ)の起動時 | B | nw_elf.dllはNW.jsの配布物に含まれるファイルです。エラーを出したアプリを、その提供元の案内に沿って入れ直す(Windows側の修復は不要) | アンインストールでデータが消えないか先に提供元の案内を確認。入れ直しても出る場合はそのアプリの提供元へ |
| w3btrv7.dll | 業務ソフトの起動時 | B | Actian Zen(データベース)の32ビット用DLLで、業務ソフトで使われていることがあります。まず業務ソフトの提供元(ベンダー)に問い合わせる | 業務データを扱うソフトのため、自己判断での再インストールやファイルの入れ替えはしない。64ビット版は別のDLL(W64BTRV.DLL)で、配布サイトのファイルを混ぜると危険 |
| detoured.dll | Steamなどの起動時 | D | Windows本体のファイルではないため、SFC・DISM・Visual C++の再インストールでは直らない。エラーを出したアプリの公式ヘルプ(Steamなら Steam サポート)で案内されている修復・再インストール手順に従う | ゲームなどは、Windowsの「アンインストール」でゲーム本体やセーブデータが消える場合があるため、始める前にアプリの公式ヘルプで確認する。原因を特定のドライバーやソフトと断定した情報は掲示板由来のものが多い。Microsoftの資料(Detours FAQ)が説明しているのは、detoured.dllがDetoursというライブラリの古い版で使われる部品であることまで。それでも出る場合はそのアプリのサポートへ |
| 拡張可能カウンター DLL … sysmain.dll | イベントビューアーの記録 | D | アプリ起動時のエラーではなく、イベントログの記録です。PCの動作に支障がなければ、この記録を理由に対処法1〜8を試す必要はありません | 動作が遅い・アプリが落ちるなど支障がある場合は、その症状のほうから切り分けるか、Microsoftサポートへ相談する。パフォーマンス カウンターの再構築手順はMicrosoftのWindows Server向け資料にあるもので、一般のPCでの効果は保証されていません。レジストリの手動編集や再構築コマンドの実行は自己判断でしない |
| vcruntime140.dll/msvcp140.dll | さまざまなアプリの起動時 | A | 対処法3の最新v14をx86版・x64版とも入れる(公式の固定リンク:https://aka.ms/vc14/vc_redist.x86.exe と https://aka.ms/vc14/vc_redist.x64.exe。最新のv14はWindows 10/11など向け) | Microsoftのサイト以外から入手したインストーラー、Microsoftが署名していないインストーラーは入れない。それでも出る場合は、Microsoft公式の案内どおりアプリのベンダーに手順を確認する |
ここで止める・切り替える基準
- 分類Bで「修復」→「再インストール」のあとも同じDLL名が出る → アプリのベンダー窓口へ(Microsoft公式はDLLの問題をDLLの提供元へ問い合わせるよう案内)
- SFCの結果が「破損したファイルを検出しましたが、その一部を修正できませんでした」 → 対処法6のDISMを実行してからSFCをもう一度。それでも残る場合、Microsoft公式ページの手順(CBS.logから修復できなかったファイル名を書き出す)で確認はできますが、ファイルを手動で置き換える作業は上級者向けです。そこまで来たら、公式の次の分岐どおりWindowsの回復オプション(再インストール。始める前にデータのバックアップを取る)を検討するか、PCメーカーやMicrosoftのサポートに相談する(FAQ「Windowsを初期化するとDLLエラーはなくなりますか?」も参照)
- SFCの結果が「整合性違反を検出しませんでした」なのに同じエラーが続く → Microsoft公式の説明では、欠落や破損したシステム ファイルが見つからなかったことを意味します。エラーを出したアプリについて、上の表の分類Bの行と、DLL名ごとの「止めどき・注意」を確認してください(業務ソフトはまず提供元へ。ゲームなどは、アンインストールでデータが消えないか先に確認)
- SFCの結果が「要求された操作を実行できませんでした」 → セーフモードで起動してからSFCを再実行する(Microsoft公式の案内)。起動の手順はMicrosoft サポート「Windows スタートアップ設定」を参照。同じページの注意どおり、デバイスが暗号化されている場合はこの操作にBitLocker回復キーが必要なため、始める前にMicrosoft サポート「BitLocker 回復キーの検索」でキーの場所を確認しておく。キーの場所を確認できない場合は、セーフモードでの再実行に進まない
- どの分類でも、DLL配布サイトのDLLは入れない。アプリを入れ直すときは、そのアプリの提供元が案内する入手先(公式サイトなど)を使う。Visual C++ 再頒布可能パッケージは、Microsoftのサイト以外から入手したインストーラーや、Microsoftが署名していないインストーラーを入れない(Microsoft公式の注意)
出典:Microsoft Learn「Dynamic-Link ライブラリ」「サポートされている最新の Visual C++ 再頒布可能パッケージのダウンロード」「Visual C++ 再頒布可能パッケージのインストールに関する問題のトラブルシューティング」「C++ バイナリ互換性 2015-2026」「sfc」/Microsoft サポート「システム ファイル チェッカー ツールを使用して不足または破損しているシステム ファイルを修復する」「Windows スタートアップ設定」「BitLocker 回復キーの検索」「Microsoft Edge が機能しない場合の対応策」「Windows でアプリとプログラムを修復する」/Zoom サポート(XmppDll.dll の案内・Zoomのアンインストール)/Microsoft Detours FAQ/Actian Zen ドキュメント(Interface Libraries)/NW.js(GitHubのissue「DLLs are missing signatures」に記載された配布ファイル名)
DLLエラーが出る主な原因
原因1:アプリを削除した際にDLLも一緒に消えた
アンインストール時に、他のアプリも使っているDLLが誤って削除されるケースがあります。
原因2:Visual C++ ランタイムが不足している
多くのWindowsアプリはMicrosoft製のVisual C++で作られており、実行にはそのランタイムライブラリ(DLL)が必要です。ランタイムがインストールされていないとエラーになります。
原因3:DirectXが不足・古い
ゲームや3Dグラフィックを使うアプリは、DirectXのDLLファイルを必要とします。
原因4:Windowsのシステムファイルが破損している
マルウェア感染、強制シャットダウン、ディスクのエラーなどでWindowsのシステムファイルが破損することがあります。
原因5:マルウェアによるDLLの改ざん
ウイルスやマルウェアがシステムのDLLを改ざんまたは削除した場合にもエラーが発生します。
対処法1:まずPCを再起動する
一時的なエラーの場合は再起動で解決することがあります。
- スタートメニュー → 電源アイコン → 「再起動」
- 再起動後、エラーが発生したアプリを再度起動
対処法2:アプリを再インストールする
特定のアプリを起動したときだけエラーが出る場合、そのアプリに必要なDLLが欠けている可能性があります。
手順
- 「設定」→「アプリ」→「インストールされているアプリ」を開く(項目名はWindowsのバージョンや更新で異なることがあります)
- 問題のアプリを探して「アンインストール」
- PCを再起動
- アプリの公式サイトまたはストアから最新版をダウンロードしてインストール
対処法3:Visual C++ 再頒布可能パッケージをインストールする
「VCRUNTIME140.dll」「MSVCP140.dll」などのエラーはこの方法で解決します。
手順
- Microsoft Learnの「サポートされている最新の Visual C++ 再頒布可能パッケージのダウンロード」ページから入手する(公式の固定リンク:https://aka.ms/vc14/vc_redist.x64.exe と https://aka.ms/vc14/vc_redist.x86.exe)
- 最新のv14(Visual Studio 2017〜2026で共通)のx64版とx86版をダウンロード。最新のv14が対応するのはWindows 10/11とWindows Server 2016以降です。それより古いWindowsでどの版を使えばよいかはこのページに書かれていないため、エラーを出したアプリのベンダーに確認してください(Microsoft公式も、Visual C++ ランタイムを更新してアプリを直す場合は、アプリのベンダーに手順を確認するよう案内しています)。Windowsのアプリ一覧では「2015-2022」のような年号付きの名前で表示されることがありますが、最新のv14で問題ありません
- ダウンロードした「vc_redist.x64.exe」と「vc_redist.x86.exe」を両方インストール
- PCを再起動してエラーが解消されるか確認
⚠️ ダウンロードは必ずMicrosoft公式サイトから行うこと。Microsoft公式も「Microsoft サイトからダウンロードされていない Visual C++ 再頒布可能パッケージ インストーラーはインストールしないでください」と注意しています。非公式サイトからのDLLダウンロードは危険です(後述)。なお、Microsoftの案内では、Visual Studio 2015以降で作られたアプリは最新のv14で動くため、2015〜2022の各版を別々に入れる必要はありません(2013以前の版は別にインストールされます)。Visual C++ 2015 再頒布可能パッケージ単体のサポートは2025年10月15日に終了していますが、アプリ一覧にある「2015-2022」の項目を削除する必要はありません。
対処法4:DirectX エンドユーザーランタイムをインストールする
「d3dx9_43.dll」など「d3d」から始まるDLLエラーはDirectXの問題です。
手順
- Microsoftの公式サイトで「DirectX エンドユーザー ランタイム Web インストーラー」を検索
- 「dxwebsetup.exe」をダウンロード・実行
- 画面の指示に従ってインストール
- PCを再起動してエラーを確認
対処法5:システムファイルチェッカー(SFC)を実行する
Windowsのシステムファイルが破損している場合、SFCスキャンで修復できます。Microsoft公式の手順では「システム ファイル チェッカーを実行する前に DISM を実行する必要があります」と案内されているため、先に対処法6のDISMを実行してからSFCを行うのがおすすめです。
手順
- スタートメニューを右クリック → 「ターミナル(管理者)」または「コマンドプロンプト(管理者)」を開く
- 以下のコマンドを入力してEnterキーを押す:
sfc /scannow
- スキャンが完了するまで待つ(10〜20分かかる場合があります)
- 結果は次の4種類です(Microsoft公式の文言)。「Windows リソース保護は、整合性違反を検出しませんでした。」=異常なし/「Windows リソース保護は、破損したファイルを検出し、正常に修復しました。」=修復成功/「Windows リソース保護は、破損したファイルを検出しましたが、その一部を修正できませんでした。」=対処法6のDISMを実行してからSFCを再実行(DISMを先に実行済みでも同じ結果なら、30秒診断の「ここで止める・切り替える基準」へ)/「Windows リソース保護は要求された操作を実行できませんでした。」=セーフモードで起動してSFCを再実行(起動の手順はMicrosoft サポート「Windows スタートアップ設定」を参照。デバイスが暗号化されている場合はBitLocker回復キーが必要なため、始める前にMicrosoft サポート「BitLocker 回復キーの検索」でキーの場所を確認しておく。キーの場所を確認できない場合は、セーフモードでの再実行に進まない)
- PCを再起動してエラーを確認
対処法6:DISMコマンドでWindowsイメージを修復する
DISMは、SFCが修復に使う元のファイルを整えるコマンドです。Microsoft公式では「システム ファイル チェッカーを実行する前に DISM を実行する必要があります」とされているため、SFC(対処法5)より先に実行するのが公式の順序です。
手順
- 管理者コマンドプロンプトを開く
- 以下のコマンドを順に実行する:
DISM /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /RestoreHealth
- 各コマンドの完了を待ってから次を実行(時間がかかります)
- 完了後、対処法5のSFCスキャン(sfc /scannow)を実行
- PCを再起動して確認
対処法7:Windows Updateを実行する
システムのDLLはWindows Updateで更新されることがあります。
- 「設定」→「Windows Update」→「更新プログラムの確認」
- 利用可能な更新をすべてインストール
- 再起動後にエラーを確認
対処法8:マルウェアスキャンを実行する
DLLファイルが改ざんされている場合、マルウェアが原因の可能性があります。
- 「Windowsセキュリティ」→「ウイルスと脅威の防止」→「クイックスキャン」
- 脅威が見つかった場合は「操作の開始」で対処
- フルスキャンも実施することを推奨
やってはいけない危険な対処法
DLLエラーを検索すると「dll-files.com」などの非公式サイトからDLLをダウンロードするよう勧める情報が出てきます。これは絶対にやめてください。
| 危険な行動 | なぜ危険か |
|---|---|
| 非公式サイトからDLLをダウンロード | マルウェアが仕込まれている可能性が高い |
| System32フォルダにDLLを手動コピー | バージョン不一致でさらなる問題が起きる |
| DLL「修復ツール」を有料購入 | 詐欺ソフトの可能性が高い |
よくある質問(FAQ)
Q. DLLエラーは何のアプリでも出ますか?
A. エラーの出るアプリが特定の1つだけであれば、そのアプリの再インストールで解決することが多いです。複数のアプリで出る場合はシステムファイルの破損を疑ってください。
Q. エラーメッセージに表示されたDLLファイルを直接探して削除していいですか?
A. いいえ、絶対にしないでください。DLLファイルの手動削除はシステムの動作に影響し、Windowsが起動しなくなることもあります。
Q. 古いゲームを起動するとDLLエラーが出ます。
A. 古いゲームはDirectXの旧バージョン(DirectX 9など)のDLLを必要とすることが多いです。「DirectX エンドユーザーランタイム」をインストールすることで解決するケースが多いです。
Q. Windowsを初期化するとDLLエラーはなくなりますか?
A. はい、クリーンインストールすれば通常は解決します。ただし、データのバックアップを確実に取ってから行ってください。初期化は最後の手段です。
Q. Visual C++ 再頒布可能パッケージをインストールしたらエラーが変わりました。
A. Microsoftの案内では、Visual Studio 2015以降で作られたアプリは最新のv14で動くため、最新のv14をx86版・x64版とも入れていれば、2015・2019・2022を別々に入れる必要はありません。エラーが変わったときは、新しく表示されたDLL名を、30秒診断の「まずDLL名を4つに分類する」の表に当てはめ直してください。msvcr120.dll・msvcp120.dllのように、DLL名の数字が140ではなく120・110・100などのものは最新のv14では代わりにならないため、対処法3のMicrosoft Learnのページの「サポートされていないレガシ バージョン」で該当する版(120ならVisual Studio 2013〔VC++ 12.0〕)を確認して、x86版とx64版を追加でインストールします(2013以前の版は最新のv14とは別にインストールされます)。d3dx9_43.dllなどDirectXのDLLに変わった場合は対処法4へ進みます。同じDLL名のエラーが続く場合は、Microsoft公式の案内どおりアプリのベンダーに手順を確認してください。
まとめ
Windowsの「DLLファイルが見つかりません」エラーの対処法をまとめます。
| 対処法 | 主な対象DLL |
|---|---|
| アプリの再インストール | アプリ固有のDLL |
| Visual C++ 再頒布可能パッケージ | VCRUNTIME140.dll、MSVCP140.dll等 |
| DirectX エンドユーザーランタイム | d3dx9_43.dll、xinput1_3.dll等 |
| SFCスキャン(sfc /scannow) | Windowsシステムのあらゆるファイル |
| DISMコマンド | SFCが修復に使う元ファイルの整備(公式の順序ではSFCの前に実行) |
| マルウェアスキャン | ウイルスが原因のDLL破損 |
DLLエラーが出たら、まずエラー文のDLL名で分類し、アプリの修復・再インストール(業務ソフトはまず提供元へ)やVisual C++のインストールを試してください。Windows本体のDLLが疑われる場合は、Microsoft公式の順序どおりDISM→SFCの順で対処しましょう。非公式サイトからのDLLダウンロードは絶対に避けてください。
minto.tech スマホ(iPhone/Android)・パソコン(Windows/Mac)・Office・Wi-Fi・AIツールの「できない」「困った」を解決する実用ガイド。トラブル対処法とノウハウが満載のお助けサイトです。