DLLを再登録してExplorer.exeの「クラスが登録されていません」エラーを解消する方法
これまで何度か詰まったのが、Explorerが動作不良を起こすたびに表示される「クラスが登録されていません」という煩わしいエラーです。原因のひとつは、DLLファイルの破損や不登録、または改ざんです。特にWindowsの更新後やドライバの競合時に発生しやすいです。私が最終的に解決できた方法は、問題のDLLを手動で再登録することでした。例えばexplorerframe.dll
などです。少し手間はかかりますが、効果は絶大です。
まず、管理者権限でコマンドプロンプトを開きます。方法は、Windowsキー + Xを押してからWindowsターミナル(管理者)を選ぶか、古いシステムの場合はコマンドプロンプト(管理者)を選択します。もしくは、「cmd」と検索して右クリックし、管理者として実行を選ぶこともできます。これが開いたら、次のコマンドを入力します。
regsvr32 explorerframe.dll
DLLのパスをフルパスで指定したほうが確実な場合もあります。その場合はこう入力します:
regsvr32 C:\Windows\System32\explorerframe.dll
成功の目安は、「DllRegisterServer in explorerframe.dll succeeded」というメッセージが表示されることです。このメッセージが出れば、WindowsがDLLを正常に認識した証です。64ビットWindowsを使っていて32ビットDLLを登録する場合は、C:\Windows\System32から実行し、32ビットDLLならSysWOW64フォルダを利用してください。また、「DLLをロードできませんでした」とエラーが出る場合は、DLLが存在しないか、システムが何か破損している可能性があります。
登録完了後は、PCを再起動すると新しい登録情報が反映されて問題が解決しやすくなります。原因のDLLを特定するには、イベントビューアのWindowsログ > アプリケーションからチェックすると手がかりが得られることもあります。複数のDLLが原因の場合もありますし、時にはこの作業だけでは解決しないケースもあります。その場合はアイコンキャッシュの修復やシステムの完全スキャンも検討しましょう。
システムファイルチェッカー(SFC)を使った破損ファイルの修復
DLLの再登録だけでは改善しない場合、次に考えるのはシステムの根本的な破損です。Windowsには内蔵ツールのシステムファイルチェッカー(SFC)があります。これは`sfc /scannow`コマンドで実行できます。アップデートやクラッシュの後に挙動がおかしくなった場合に強い味方です。
まず、管理者権限のコマンドプロンプトを開きます。Windowsキー + Xまたは検索窓からcmdと入力し、右クリックして管理者として実行を選択します。次に次のコマンドを入力します:
sfc /scannow
Enterキーを押して実行すると、システムファイルのスキャンが始まります。破損や欠損ファイルを自動的に修復しようとしますが、結構時間がかかることも。途中で止まったように見えても、じっと待ちましょう。修復が成功すれば特に通知はありませんが、修復できないファイルがあった場合は次のステップに進みます。それがDISMの実行です:
DISM /Online /Cleanup-Image /RestoreHealth
これを実行した後、再度sfc /scannow
を実行し、完了したら再起動します。これで多くのExplorerの不具合や設定の乱れが改善されるはずです。特にシステムアップデート後に何かがおかしくなったと感じたときに有効です。
DCOMの設定を見直して深刻なWindowsエラーを修正
次に迷ったのがDCOMの設定です。これが原因でExplorer.exeエラーが出ることもあります。DCOMとは、Distributed Component Object Modelの略で、ネットワーク上や内部のアプリ間通信に使われる仕組みです。設定が不適切だと、エラーの原因になります。
これを確認するには、Windows + Rを押して「dcomcnfg」と入力し、Enterを押します。コンポーネントサービスのウィンドウが開きます。そこから、コンポーネント サービス>コンピューターMy Computer><DCOM設定>の順に展開します。必要に応じて、Windowsがダイアログで登録を促すこともあります。その指示に従えばOKです。
ただし、自己判断でDLLやコンポーネントを登録・変更するのは危険です。信頼できる情報に従いましょう。必要に応じて、Windows Management Instrumentation (WMI)サービスの再起動も効果的です。Windows + R、services.msc
と入力し、Windows Management Instrumentationを探して右クリック、「再起動」を選びます。
PowerShellで全てのWindows標準アプリを再登録する方法
次に試したのが、標準アプリの再登録です。アプリの破損が原因でExplorerと不具合を起こすケースもあります。PowerShell(管理者モード)で次のコマンドを実行します:
Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}
これにより、スタートメニューやEdgeなどの標準アプリがリセットされ、UIの不具合が解消されることがあります。少し時間がかかり、画面のちらつきなどもありますが、効果は抜群です。スタートメニューやタスクバーの調子がおかしい場合は、ぜひ一度試してみてください。
システムの復元を使った安全な巻き戻し
最後の手段として、システムの復元ポイントに戻す方法があります。エラーが出る前の状態に戻すことで、多くの場合問題は解決します。方法は、「システムの復元」を検索し、システムのプロパティから「システム保護」タブを開き、「システムの復元」をクリック。適切な復元ポイントを選択し、指示に従います。事前に大切なファイルのバックアップを取っておくことをおすすめします。復元後、Explorer.exeも正常に動作することが多いです。
これは万能ではありませんが、深刻な問題の解決や時間短縮には非常に有効です。特に大規模なシステム変更を行った直後などには、効果的な方法です。
結局のところ、Explorer.exeのエラー修正はちょっとした試行錯誤と忍耐力が必要です。焦らず、データのバックアップを確実に行いながら、一つずつ解決策を試していくことが成功へのコツです。何か他の方法も見つけたら、ぜひ教えてくださいね!