WindowsでDLLファイルを登録するには、管理者として起動したコマンド プロンプトで組み込みのRegsvr32ツールを実行し、DLLのアーキテクチャに一致するバージョンを使用します。これは、自己登録に対応した対象のCOM DLLにのみ適用されます。Regsvr32は、汎用的なDLL修復ツールではありません。Visual C++、DirectX、または通常のアプリケーションDLLが見つからないとWindowsが表示する場合は、影響を受けるソフトウェアを修復または再インストールしてください。このガイドでは、直接登録、以前登録したCOMコンポーネントの再登録、より広範なDLL問題に対する別の診断手順を説明します。

DLLを登録すべき場面

状況Regsvr32を使用すべきか
ソフトウェアベンダーがCOM DLLの登録を明示的に指示しているはい
DLLが自己登録対応として文書化されているはい
DLLが見つからない通常はいいえ
Visual C++またはDirectXのDLLが不足しているいいえ
ファイルが通常のアプリケーション依存DLLである必ずしも対応しているとは限らない
DLLの用途や登録対応の有無が不明である先に出所と想定用途を確認する

DLLを登録する前に、ソフトウェアベンダーまたはそのインストーラーからファイルを取得し、完全なパスを確認して、影響を受けるアプリを閉じてください。アプリケーションファイルの不足や置き換えに対してインストーラーが修復または再インストールを提供している場合は、その方法を使用してください。

方法の比較

方法最適なケース効率ユーザーの作業量
Regsvr32で登録する登録が必要な、既知の自己登録対応COM DLL高い中程度
COM DLLを再登録する以前に登録され、古い登録情報が疑われるコンポーネント中程度中程度
Fionn DLL Fixerで診断するDLLの不足、破損、不一致、またはシステムパス関連の症状検出された問題による少ない

方法1:Regsvr32でDLLを登録する

使用する場面:信頼できるベンダー文書が、そのファイルを自己登録対応のCOM DLLとして示し、登録を指示している場合にのみ使用してください。

  1. スタートを開き、コマンド プロンプトを検索して、管理者として実行を選択します。
    コマンド プロンプトを管理者として実行する画面
  2. Windowsの種類だけでなく、DLLに一致する登録ツールを選びます。64ビットWindowsでは、64ビットDLLにはC:\Windows\System32\regsvr32.exeを、32ビットDLLにはC:\Windows\SysWOW64\regsvr32.exeを使用します。
  3. 例をDLLの完全なパスに置き換え、対応するコマンドを実行します。
    C:\Windows\System32\regsvr32.exe "C:\Path\To\Example.dll"
          

    64ビットWindowsで32ビットDLLを登録する場合は、次を使用します。

    C:\Windows\SysWOW64\regsvr32.exe "C:\Path\To\Example.dll"
          
  4. 結果にDllRegisterServer succeededと表示されることを確認し、影響を受けるアプリを再度開いて、コンポーネントを使用する機能をテストします。

方法2:以前登録したCOM DLLを再登録する

使用する場面:以前に登録されており、登録情報の誤りまたは古さが疑われる自己登録対応COMコンポーネントにのみ使用します。方法1が失敗した場合の標準的な次の手順ではありません。

  1. 管理者としてコマンド プロンプトを開き、DLLに一致する32ビット版または64ビット版のRegsvr32実行ファイルを選びます。
  2. 対応するRegsvr32コマンドに/uを追加して、既知のコンポーネントの登録を解除します。
    regsvr32 /u "C:\Path\To\Example.dll"
          
    Regsvr32コマンドを入力したコマンド プロンプト
  3. 同じDLLを、対応する実行ファイルで/uスイッチなしで再度登録します。
    regsvr32 "C:\Path\To\Example.dll"
          
  4. 影響を受けるアプリケーションを再起動し、以前に登録関連エラーが発生した操作を繰り返します。

確認:コンポーネントが正常に登録され、影響を受けた機能が以前の登録エラーなしで読み込まれるはずです。失敗した場合は、正確なメッセージを保存してください。

方法3:Fionn DLL FixerでDLLの問題を診断して修復する

使用する場面:この別の方法は、DLLの不足、破損、バージョン不一致、またはSystem32パス関連のDLL問題に適しています。ベンダーが指示するCOM登録をRegsvr32で行う代わりにはなりません。

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

確認:再確認後、影響を受けるアプリまたはゲームを開き、元のDLL不足または読み込み時の症状が変化したかを確認します。

よくあるRegsvr32エラーとその意味

Regsvr32メッセージ意味と次の手順
DllRegisterServer succeeded登録は成功しました。影響を受ける機能をテストしてください。
DllRegisterServer was not foundDLLが自己登録に対応していない可能性があります。ベンダーの手順を確認してください。
The module failed to loadパス、依存モジュール、32ビットまたは64ビットの一致を確認してください。
The specified module could not be found対象DLL自体は存在していても、その依存関係のいずれかを読み込めない可能性があります。
0x80070005これは一般にアクセス拒否の問題を示します。管理者としてコマンド プロンプトを実行し、コンポーネントを使用する権限を確認してください。

コマンドオプションとMicrosoftの用語については、MicrosoftのRegsvr32リファレンスを確認してください。エントリポイントがない場合に、無関係なDLLを繰り返し試さないでください。

  • アーキテクチャの不一致:Regsvr32をDLLのアーキテクチャに一致させてください。
  • 引用符で囲まれていないパス:空白を含むパスは引用符で囲んでください。
  • 管理者権限の不足:システム全体の登録では、管理者としてコマンド プロンプトを起動してください。
  • 不足ファイルの修復手段として登録を使う:代わりに、提供元のアプリケーションを再インストールまたは修復してください。

まとめ

まず、そのDLLがベンダーにより指定された自己登録対応COMコンポーネントであることを確認してください。次に、DLLのアーキテクチャに一致するRegsvr32実行ファイルを使い、成功メッセージを確認してから影響を受けるアプリケーションをテストします。再登録は、すでに登録されており、登録解除に対応していることがわかっているコンポーネントにのみ行ってください。DLLの不足、破損、バージョン不一致、または依存関係関連の症状には、Fionn DLL Fixerが別のスキャン、修復、再確認の手順を提供します。エラーが解消しない場合は、完全なメッセージとソフトウェアベンダーの修復手順を使用して、次の対応を特定してください。

よくある質問

すべてのDLLファイルを登録できますか?

いいえ。Regsvr32は、必要な登録エントリポイントを公開する自己登録対応COM DLL向けです。多くの通常のDLLは該当しません。

64ビットWindowsでは32ビット版と64ビット版のどちらのRegsvr32を使うべきですか?

DLLに一致するバージョンを選んでください。64ビットDLLにはSystem32を、32ビットDLLにはSysWOW64を使用します。

DLLが存在するのに、Regsvr32が指定されたモジュールが見つからないと表示するのはなぜですか?

このメッセージは、対象DLLだけでなく、そのDLLが必要とする依存関係を指している場合があります。ファイルの出所、アーキテクチャ、アプリケーションの修復オプションを確認してください。

不足しているVisual C++またはDirectX DLLを修復するためにDLLを登録すべきですか?

いいえ。このようなエラーには通常、COM登録ではなく、影響を受けるアプリケーションのインストーラー、修復オプション、またはサポート対象ランタイムのインストールが必要です。

DLLを登録した後にWindowsを再起動する必要がありますか?

通常は影響を受けるアプリを再起動すれば十分です。ベンダーから指示された場合、またはプロセスが古いコンポーネント状態を保持している可能性がある場合は、Windowsを再起動してください。