【Windows】クラスが未登録ですエラーをレジストリのCLSID再登録コマンドで直す手順 | エラーコード:0x80040154

【Windows】クラスが未登録ですエラーをレジストリのCLSID再登録コマンドで直す手順 | エラーコード:0x80040154
🛡️ 超解決

業務中にWindowsのアプリケーションを起動した際、「クラスが未登録です」というエラーメッセージとエラーコード0x80040154が表示され、作業が中断されてしまうことがあります。

このエラーは、システムに登録されているはずのソフトウェア情報が破損している場合に発生します。

この記事では、レジストリのCLSID再登録コマンドを使用して、この問題を解決する具体的な手順を解説します。

【要点】クラスが未登録ですエラーの解決策

  • レジストリのバックアップ: 重要なシステム設定を保護し、万が一の事態に備えることができます。
  • DLLファイルの再登録: 破損したCOMコンポーネントの登録情報を修正し、アプリケーションの起動を可能にします。
  • システムファイルの修復: Windowsのシステムファイル破損が原因の場合、根本的な問題を解決できます。

ADVERTISEMENT

「クラスが未登録です」エラー0x80040154が発生する根本的な原因

「クラスが未登録です」エラー(エラーコード0x80040154)は、WindowsのCOMコンポーネントの登録情報に問題がある場合に発生します。

COMコンポーネントは、複数のアプリケーションが共通して利用する機能を提供するプログラム部品です。これらの部品はCLSIDという一意の識別子を持ち、Windowsレジストリにその情報が登録されています。

エラーが発生する主な原因は、関連するDLLファイルやOCXファイルの登録情報が破損している、または完全に失われているためです。これは、ソフトウェアの不適切なアンインストール、システムファイルの破損、Windows Updateの失敗、あるいはマルウェアの影響によって引き起こされる場合があります。

結果として、アプリケーションが利用しようとするCOMコンポーネントを見つけられず、エラーを報告する状況に至ります。

COMコンポーネントとレジストリの役割

COMコンポーネントは、アプリケーションが特定の機能を利用する際に、その機能を提供するプログラムを探すための仕組みです。

レジストリは、これらのCOMコンポーネントの所在情報や設定を保存するWindowsの重要なデータベースです。アプリケーションはレジストリを参照し、目的のCOMコンポーネントのパスや関連情報を取得します。

このレジストリ情報が正しくない場合、アプリケーションは必要なコンポーネントをロードできず、エラーが発生します。

レジストリのCLSIDを再登録してエラーを解消する手順

このセクションでは、「クラスが未登録です」エラーを解決するための具体的な手順を解説します。

レジストリを操作する前には、必ずバックアップを作成してください。万が一の事態に備えることは非常に重要です。

  1. レジストリのバックアップを作成する
    WindowsキーとRキーを同時に押し、「ファイル名を指定して実行」ダイアログを開きます。
    入力欄に「regedit」と入力し、Enterキーを押すか「OK」をクリックしてレジストリエディターを起動します。
    「ユーザーアカウント制御」ダイアログが表示されたら、「はい」をクリックして許可します。
    レジストリエディターの左上にある「ファイル」メニューをクリックし、「エクスポート」を選択します。
    「レジストリファイルの保存」ダイアログで、「エクスポート範囲」を「すべて」に設定します。
    任意のファイル名(例: RegistryBackup_日付)を入力し、保存場所を指定して「保存」をクリックします。
  2. コマンドプロンプトを管理者として起動する
    Windowsのスタートボタンを右クリックし、表示されるメニューから「ターミナル 管理者」または「Windows PowerShell 管理者」、「コマンドプロンプト 管理者」を選択します。
    Windows 10では、「スタート」ボタンを右クリックし、「コマンドプロンプト(管理者)」または「Windows PowerShell(管理者)」を選択します。
    「ユーザーアカウント制御」ダイアログが表示されたら、「はい」をクリックして許可します。
  3. 問題のDLL/OCXファイルを再登録する
    エラーメッセージに特定のファイル名が記載されている場合は、そのファイルを再登録します。
    例えば、「sample.dll」というファイルでエラーが発生している場合、コマンドプロンプトに以下のコマンドを入力し、Enterキーを押します。

    regsvr32 sample.dll

    「DllRegisterServerは成功しました」というメッセージが表示されれば、再登録は完了です。
    もしファイル名が不明な場合は、よく問題となる一般的なシステムファイルをいくつか試すことができます。
    例えば、以下のファイルを一つずつ実行してみてください。

    regsvr32 jscript.dll
    regsvr32 vbscript.dll
    regsvr32 mshtml.dll
    regsvr32 oleaut32.dll
    regsvr32 actxprxy.dll
    regsvr32 shdocvw.dll
    regsvr32 browseui.dll

    それぞれのコマンド実行後、成功メッセージが表示されるか確認します。

  4. システムファイルチェッカーを実行する
    コマンドプロンプトに以下のコマンドを入力し、Enterキーを押します。

    sfc /scannow

    このコマンドは、破損したWindowsシステムファイルをスキャンし、修復します。完了には時間がかかる場合があります。

  5. DISMコマンドを実行してシステムイメージを修復する
    システムファイルチェッカーで問題が解決しない場合、より強力なシステムイメージ修復ツールであるDISM(Deployment Image Servicing and Management)ツールを使用します。
    コマンドプロンプトに以下のコマンドを一つずつ入力し、それぞれEnterキーを押します。

    DISM /Online /Cleanup-Image /CheckHealth
    DISM /Online /Cleanup-Image /ScanHealth
    DISM /Online /Cleanup-Image /RestoreHealth

    これらのコマンドは、Windowsのシステムイメージをチェックし、破損があれば修復を試みます。完了には数十分かかることがあります。
    Windows 10でも同じコマンドを使用できます。

  6. PCを再起動する
    上記すべての手順が完了したら、PCを再起動します。変更をシステムに適用するために再起動は不可欠です。
    再起動後、問題のアプリケーションが正常に起動するかどうかを確認してください。

エラーが改善しない場合の追加対処法と注意点

上記のCLSID再登録やシステムファイル修復を試してもエラーが改善しない場合、さらに別の原因が考えられます。以下の対処法を試してみてください。

特定のアプリケーションでエラーが出る場合

エラーが特定のアプリケーションでのみ発生する場合、そのアプリケーション自体に問題がある可能性があります。

  1. アプリケーションの再インストール
    エラーが発生するアプリケーションを一度アンインストールし、再度インストールし直します。
    これにより、アプリケーションのファイルやレジストリ登録情報が正しく再構築される場合があります。
  2. アプリケーションの更新または修正プログラムの適用
    アプリケーションの製造元が、このエラーに対応する更新プログラムや修正プログラムをリリースしている可能性があります。
    アプリケーションの設定や製造元のウェブサイトを確認し、最新バージョンへの更新を試します。

システム全体でエラーが出る場合

複数のアプリケーションでエラーが発生したり、Windowsの基本機能に問題がある場合、システム全体の問題が疑われます。

  1. Windows Updateの確認
    Windowsの更新プログラムが正しく適用されていない、または更新プログラム自体が原因で問題が発生している可能性があります。
    「設定」→「Windows Update」を開き、利用可能な更新プログラムをすべて適用するか、最近インストールされた更新プログラムを一時的にアンインストールして問題が解決するか確認します。
  2. システム復元ポイントの使用
    エラーが発生する前の時点で作成されたシステム復元ポイントがあれば、その時点にシステムを戻すことで問題を解決できる場合があります。
    スタートメニューの検索ボックスに「復元ポイントの作成」と入力し、「復元ポイントの作成」を選択します。
    「システムの保護」タブで「システムの復元」をクリックし、画面の指示に従って復元ポイントを選択します。
  3. 新規ユーザープロファイルの作成
    現在のユーザープロファイルが破損している可能性もあります。
    新しいユーザーアカウントを作成し、そのアカウントでログインして同じ問題が発生するか確認します。
    「設定」→「アカウント」→「家族とその他のユーザー」から「アカウントの追加」を選択し、新しいローカルアカウントを作成します。

レジストリ操作時の注意点

レジストリの編集は、Windowsの動作に直接影響を与える重要な操作です。

誤った操作を行うと、システムが不安定になったり、最悪の場合Windowsが起動しなくなる可能性もあります。そのため、以下の点に注意してください。

  • 必ずバックアップを取る: 手順1で説明したように、レジストリ全体または変更するキーのバックアップを必ず作成してください。
  • 不明なキーは触らない: 必要な操作以外のレジストリキーや値を変更したり削除したりしないでください。
  • 慎重に作業する: コマンドの入力ミスやレジストリパスの誤りがないか、複数回確認しながら作業を進めてください。

ADVERTISEMENT

レジストリ編集とシステムファイル修復コマンドの比較

「クラスが未登録です」エラーの解決には、レジストリの直接操作とシステムファイル修復コマンドの二つのアプローチがあります。それぞれの特徴を比較します。

項目 regsvr32コマンドによるDLL再登録 sfc /scannowコマンド DISMコマンド
主な目的 特定のCOMコンポーネントのレジストリ登録情報の修復 破損したWindowsシステムファイルの検出と修復 Windowsシステムイメージの破損を修復
対処できる範囲 特定のDLL/OCXファイルに関連するエラー OSのコアファイル破損による広範な問題 OSのシステムイメージレベルでの深刻な破損
実行難易度 中(対象ファイル特定の知識が必要) 低(コマンド実行のみ) 低(コマンド実行のみ)
実行時間 短時間(数秒〜数分) 中程度(数分〜数十分) 長時間(数十分〜1時間以上)
リスク 低(対象ファイルが限定的) 非常に低い 非常に低い
推奨される場面 特定のアプリケーションでエラーが出る場合 広範なシステム不安定性やエラーが発生する場合 sfcコマンドで解決しない深刻なシステム破損が疑われる場合

まとめ

この記事では、「クラスが未登録です」エラー(0x80040154)が発生した際の、レジストリのCLSID再登録コマンドを用いた解決手順を解説しました。

レジストリのバックアップから始め、`regsvr32`コマンドによるDLLファイルの再登録、さらに`sfc`や`DISM`コマンドによるシステム修復まで、段階的な対処法を試すことで問題の解消が期待できます。

解決しない場合は、アプリケーションの再インストールやシステム復元の検討も有効です。これらの手順を参考に、業務の滞りを解消し、PCを正常な状態に戻してください。

ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。