Windowsが特定のDLLファイルを見つけられなかったというエラーが表示された場合、そこにある多くのDLLサイトの1つからファイルをダウンロードしたくなることがあります。これがあなたがすべきではない理由です。
DLLとは何ですか?
関連: rundll32.exeとは何ですか?なぜ実行されているのですか?
インターネットからダイナミックリンクライブラリ(DLL)ファイルをダウンロードしない理由を説明する前に、まずDLLファイルとは何かを見てみましょう。 DLLファイルは、Windowsで特定のアクティビティを実行するためのコードとデータのセットを含むライブラリです。 その後、アプリはそれらのDLLファイルを呼び出すことができます その活動を実行する必要があるとき。 DLLファイルは、Windowsで直接実行できないことを除けば、実行可能(EXE)ファイルによく似ています。つまり、DLLファイルをダブルクリックして、EXEファイルと同じように実行することはできません。代わりに、DLLファイルは他のアプリによって呼び出されるように設計されています。実際、これらは一度に複数のアプリから呼び出されるように設計されています。 DLL名の「リンク」部分も、別の重要な側面を示唆しています。複数のDLLをリンクして、1つのDLLが呼び出されると、他の複数のDLLも同時に呼び出されるようにすることができます。
Windows自体は、DLLを広範囲に使用して、
C:\ Windows \ System32
フォルダーはあなたに言うことができます。私たちが話していることの例として、Windowsシステムファイル「comdlg32.dll」を考えてみましょう。このファイルは、共通ダイアログボックスライブラリとも呼ばれ、Windowsに表示される多くの一般的なダイアログボックスを構築するためのコードとデータ(ファイルを開く、ドキュメントを印刷するなどのダイアログ)が含まれています。このDLLの手順では、ダイアログボックス宛てのメッセージの受信と解釈から、ダイアログボックスが画面上でどのように表示されるかを指定するまで、すべてを処理します。もちろん、複数のアプリが同時にこのDLLを呼び出すことができます。そうしないと、一度に複数のアプリでダイアログボックス(以下のような)を開くことができません。
DLLを使用すると、コードをモジュール化して再利用できます。つまり、開発者は、ありふれた機能や一般的な機能を実行するために、コードを最初から作成するのに時間を費やす必要がありません。また、開発者はアプリと一緒にインストールする独自のDLLを作成しますが、アプリによって呼び出されるDLLの大部分は、実際にはWindowsまたは次のような追加のパッケージにバンドルされています。 Microsoft .NET Framework または Microsoft C ++再配布可能ファイル 。この方法でコードをモジュール化することのもう1つの大きな利点は、特にそれらのDLLがアプリの開発者からのものではない場合に、アプリ全体ではなく各DLLに更新を適用しやすいことです。たとえば、Microsoftが.NET Frameworkで特定のDLLを更新すると、それらのDLLを使用するすべてのアプリは、更新されたセキュリティまたは機能をすぐに利用できます。
関連: Microsoft .NET Frameworkとは何ですか、またなぜPCにインストールされるのですか?
ダウンロードしたDLLは古くなっている可能性があります
それで、私たちのベルトの下にあるDLLを少し理解した上で、システムにDLLがない場合は、インターネットからDLLをダウンロードしてみませんか?
ダウンロードしたDLLで発生する最も一般的な問題は、DLLが古くなっていることです。そこにあるDLLサイトの多くは、自分のコンピューターまたはユーザーのコンピューターからDLLをアップロードするだけでDLLを取得します。あなたはおそらくすでに問題を見ることができます。これらのサイトのほとんどはトラフィックを必要としているだけであり、DLLがアップロードされると、ファイルを最新の状態に保つためのインセンティブはほとんどありません。これに加えて、ベンダーは通常、更新されたDLLを個別のファイルとして一般にリリースすることはなく、 試してみてください ファイルを最新の状態に保つことは、あまり成功しない可能性があります。
DLLが通常パッケージに統合されるというさらなる問題もあります。パッケージ内の1つのDLLの更新には、同じパッケージ内の他の関連するDLLの更新が伴うことがよくあります。つまり、万が一、最新のDLLファイルを取得したとしても、次のような関連ファイルは取得されません。更新されました。
ダウンロードしたDLLが感染する可能性があります
あまり一般的ではありませんが、潜在的にはるかに悪い問題は、ベンダー以外のソースからダウンロードしたDLLに、PCに感染する可能性のあるウイルスやその他のマルウェアがロードされる可能性があることです。これは、ファイルの入手先にあまり注意を払っていないサイトに特に当てはまります。そして、それらのサイトが危険な情報源についてあなたに話すために邪魔にならないようにするわけではありません。本当に怖いのは、感染したDLLファイルをダウンロードすると、DLLファイルの性質上、通常の感染したファイルよりも深いアクセス権がファイルに与えられるリスクがあることです。
関連: Windows 10に最適なアンチウイルスは何ですか? (Windows Defenderで十分ですか?)
ここでの朗報は、 優れたリアルタイムのウイルス対策アプリ 通常、これらの感染したDLLファイルは、実際にシステムに保存される前に検出され、損傷を防ぐことができます。それでも、優れたウイルス対策プログラムでさえ完全な保護を提供しない可能性があることを覚えておく必要があります。危険なファイルをダウンロードする習慣をつけると、ある時点で追いつく可能性があります。これらのDLLサイトは避けるのが最善です。
彼らはおそらくとにかくあなたの問題を解決しないでしょう
PC上の1つのDLLファイルのみが破損または削除されている可能性がありますが、他のDLLまたは関連するアプリファイルも破損または欠落している可能性があります。特定のファイルに関するエラーが発生する理由は、アプリがクラッシュする前に最初に発生したエラーであり、残りのファイルについては通知されないためです。これは、問題の原因に関係なく当てはまります。
関連: 不良セクタの説明:ハードドライブが不良セクタを取得する理由とそれについて何ができるか
DLLが見つからないか破損するのはなぜですか?別の誤ったアプリまたはアップデートがファイルを置き換えようとして失敗したか、古いコピーに置き換えられた可能性があります。メインアプリのインストールまたは.NETなどのパッケージの障害である可能性があります。別の問題が発生している可能性もあります。 ハードディスクの不良セクタ —ファイルが正しくロードされない原因です。
DLLエラーを修正するにはどうすればよいですか?
安定した、最新の、クリーンなDLLを確実に取得する唯一の方法は、DLLが作成されたソースを介して取得することです。通常、そのソースは次のようになります。
関連: Windowsで破損したシステムファイルをスキャン(および修正)する方法
- Windowsインストールメディア 。インストールメディアからDLLファイルを単純にコピーできる可能性は低いですが、Windowsを再インストールするような抜本的な作業を行う前に、簡単に試すことができます。あなたはできる Windowsリソース保護ツールを使用する (多くの場合、システムファイルチェッカー(SFC)と呼ばれます)。これは、Windowsで破損または欠落しているシステムファイルをスキャンして修正します。ツールを実行するときは、そこからファイルをコピーする必要がある場合に備えて、インストールメディアを手元に用意しておく必要があります。 (インストールディスクがない場合は、 こちらからダウンロードしてください 。)
- Microsoft .NETFrameworkパッケージ 。 .NETのいくつかのバージョンはWindowsとともに自動的にインストールされ、多くのアプリもそれらのパッケージからファイルをインストールします。あなたは読める .NETフレームワークに関する記事 、関連する問題を見つけて修復するためのアドバイスもあります。
- さまざまなMicrosoftVisual C ++再配布可能パッケージ 。使用するアプリによっては、PCに複数のバージョンのC ++再頒布可能パッケージがインストールされている場合があります。どちらが原因であるかを特定するのは難しい場合がありますが、開始するのに適した場所は C ++再頒布可能パッケージに関する記事 、また、Microsoftから直接最新バージョンをダウンロードできるいくつかのトラブルシューティング手順とリンクを備えています。
- DLLに付属のアプリ 。 DLLが個別のパッケージの一部ではなく、アプリと一緒にインストールされた場合、最善の策はアプリを再インストールすることです。一部のアプリでは、完全な再インストールの代わりに修復を実行できます。修復は通常、インストールフォルダー内の不足しているファイルを探すため、どちらのオプションも機能するはずです。
それでも問題が解決しない場合は、アプリベンダーに連絡して、個々のDLLファイルのコピーをリクエストできる可能性があります。一部の企業はこの要求を受け入れています。一部はそうではありません。個別のファイルを提供しない会社に出くわした場合、少なくとも問題を解決するための他の提案を提供できる可能性があります。