ホームページ » の仕方 » DLLファイルとは何ですか、なぜPCから1つが見つからないのですか?

    DLLファイルとは何ですか、なぜPCから1つが見つからないのですか?

    Windowsが特定のDLLファイルを見つけることができなかったと言ってエラーが発生した場合、それはそこに多くのDLLサイトのうちの1つからファイルをダウンロードすることをひどく誘惑することができます。あなたがそうすべきでない理由はここにあります.

    DLLとは?

    インターネットからダイナミックリンクライブラリ(DLL)ファイルをダウンロードしてはいけない理由を説明する前に、まずDLLファイルとは何かを見てみましょう。 DLLファイルは、Windowsで特定のアクティビティを実行するためのコードとデータのセットを含むライブラリです。その後、アプリケーションは、そのアクティビティの実行が必要になったときにこれらのDLLファイルを呼び出すことができます。 DLLファイルは実行可能ファイル(EXE)とよく似ていますが、Windowsで直接実行することはできません。つまり、EXEファイルと同じ方法でDLLファイルをダブルクリックして実行することはできません。代わりに、DLLファイルは他のアプリケーションから呼び出されるように設計されています。実際、それらは一度に複数のアプリから呼び出されるように設計されています。 DLL名の「リンク」部分もまた別の重要な側面を示唆しています。複数のDLLをリンクして、1つのDLLが呼び出されたときに他のDLLも同時に呼び出されるようにすることができます。.

    Windows自体は、DLLを介したツアーとして、DLLを多用しています。 C:\ Windows \ System32 フォルダはあなたに言うことができます。私たちが話していることの例として、Windowsシステムファイル“ comdlg32.dll”を考えてみましょう。このファイルは、コモンダイアログボックスライブラリとしても知られていて、そこに見られるコモンダイアログボックスの多くを構築するためのコードとデータを含みますファイルを開く、文書を印刷するなどのためのWindowsダイアログ。このDLLの指示は、ダイアログボックスに向けられたメッセージの受信と解釈から、ダイアログボックスが画面上でどのように見えるかを指定することまで、すべてを処理します。明らかに、複数のアプリが同時にこのDLLを呼び出すことができます。.

    DLLを使用すると、コードをモジュール化して再利用することができます。つまり、日常的な機能や一般的な機能を実行するために開発者がコードを最初から作成する時間を費やす必要はありません。開発者は自分のアプリと一緒にインストールする独自のDLLを作成しますが、アプリによって呼び出されるDLLの大部分は、実際にはWindowsまたはMicrosoft .NET FrameworkやMicrosoft C ++再配布可能ファイルなどの追加パッケージにバンドルされています。このようにコードをモジュール化することのもう1つの大きな利点は、更新がアプリケーション全体よりも各DLLに適用されやすいことです。たとえば、Microsoftがその.NET Framework内の特定のDLLを更新すると、それらのDLLを使用するすべてのアプリは直ちに更新されたセキュリティまたは機能を利用することができます。.

    ダウンロードされたDLLは古くなっている可能性があります

    だから、私たちのベルトの下でDLLを少し理解して、1つがあなたのシステムから欠落しているとき、なぜインターネットからそれらをダウンロードしないでください?

    ダウンロードされたDLLで遭遇する最も一般的な問題は、それらが古くなっているということです。そこにあるDLLサイトの多くは、自分のまたは自分のユーザーのコンピュータからそれらをアップロードするだけで、DLLを入手します。あなたはおそらくすでに問題を見ているでしょう。これらのサイトのほとんどはあなたのトラフィックが欲しいだけなので、DLLがアップロードされると、ファイルが最新の状態に保たれるようにするためのインセンティブはほとんどありません。これに加えて、ベンダーは通常、更新されたDLLを個々のファイルとして一般に公開することはしません。 やってみる ファイルを最新の状態に保つことはあまり成功しないでしょう.

    DLLが通常パッケージに統合されているというさらなる問題もあります。パッケージ内の1つのDLLを更新すると、同じパッケージ内の他の関連DLLが更新されることがよくあります。これは、万が一最新のDLLファイルを入手したとしても、関連するファイルも入手できないことを意味します。更新されました.

    ダウンロードされたDLLは感染する可能性があります

    あまり一般的ではありませんが、ベンダ以外のソースからダウンロードしたDLLにPCに感染する可能性のあるウイルスやその他のマルウェアがロードされる可能性があることが、より深刻な問題となります。これは、ファイルの入手先についてあまり注意を払っていないサイトでは特にそうです。そしてそれらのサイトが危険な情報源についてあなたに話すために彼らの方法から出ようとしているのではありません。本当に怖いのは、感染したDLLファイルをダウンロードした場合、DLLファイルの性質上、通常の感染ファイルよりもそのファイルへのアクセスが深くなる危険性があるということです。.

    ここでの良いニュースは、良いリアルタイムウイルス対策アプリケーションは、通常、感染したDLLファイルが実際にシステムに保存される前にそれらを検出し、それらが損傷を受けるのを防ぐことができるということです。それでも、優れたアンチウイルスプログラムでも完璧な保護が得られない場合があることを忘れないでください。危険なファイルをダウンロードする習慣がある場合、ある時点でそれに追いつく可能性があります。単にこれらのDLLサイトを避けることが最善です.

    彼らはおそらくあなたの問題をとにかく解決しないでしょう

    PC上の単一のDLLファイルのみが破損または削除された可能性もありますが、他のDLLまたは関連アプリファイルも破損または欠損している可能性があります。特定のファイルについてエラーが発生するのは、クラッシュする前にアプリが最初に発生したエラーであり、それ以外は通知されていないためです。これは問題の原因に関係なく当てはまります。.

    DLLが見つからないか破損しているのはなぜですか?他の誤ったアプリケーションやアップデートがファイルの置き換えを試みて失敗した、または古いコピーと置き換えた可能性があります。メインアプリのインストールや.NETのようなパッケージの障害の可能性があります。ハードディスクに別の問題のような不良セクタがあり、ファイルが正しくロードされない可能性があります。.

    DLLエラーの修復方法は??

    安定した、最新の、そしてきれいなDLLを確実に入手する唯一の方法は、それが由来したソースを通してそれを入手することです。通常、そのソースは次のようになります。

    • Windowsのインストールメディア. インストールメディアからDLLファイルを単純にコピーすることはできないでしょうが、Windowsの再インストールと同じくらい劇的なことをする前に試す簡単な方法はあります。 Windowsのリソース保護ツール(システムファイルチェッカー、またはSFCとも呼ばれます)を使用すると、Windowsで破損した、または存在しないシステムファイルをスキャンして修復できます。ツールを実行するときは、そこからファイルをコピーする必要がある場合に備えて、インストールメディアを用意しておく必要があります。 (インストールディスクがない場合は、ここからダウンロードできます。)
    • Microsoft .NET Frameworkパッケージ. .NETのいくつかのバージョンがWindowsと一緒に自動的にインストールされ、多くのアプリはそれらのパッケージからファイルをインストールします。 .NETフレームワークに関する記事を読むことができます。関連する問題を見つけて修復するためのアドバイスもあります。.
    • さまざまなMicrosoft Visual C ++再頒布可能パッケージ. 使用するアプリによっては、複数のバージョンのC ++再配布可能ファイルがPCにインストールされている場合があります。どれが原因であるかを絞り込むのが難しい場合がありますが、開始するのに良い場所はC ++再配布可能ファイルに関する記事です。この記事にはトラブルシューティングの手順とリンクを掲載しています。.
    • DLLが付属していたアプリ. DLLが別のパッケージの一部ではなくアプリと一緒にインストールされた場合、あなたの最善の策は単にアプリを再インストールすることです。一部のアプリでは、完全な再インストールではなく修復を実行できます。修復では通常、インストールフォルダ内の見つからないファイルが検索されるため、どちらの方法でも問題ありません。.

    それでもうまくいかない場合は、アプリの製造元に連絡して、個々のDLLファイルのコピーを要求することができます。いくつかの会社はこの要求にオープンです。そうでないものもあります。個々のファイルを提供しない会社に遭遇した場合、少なくともそれらはあなたの問題を解決するための他の提案を提供できるかもしれません。.