ホームページ > バックエンド開発 > C++ > 「クラスが登録されていません」COM 例外 (0x80040154) を解決するにはどうすればよいですか?

「クラスが登録されていません」COM 例外 (0x80040154) を解決するにはどうすればよいですか?

Barbara Streisand
リリース: 2025-01-14 11:52:42
オリジナル
792 人が閲覧しました

How to Solve

「クラスが登録されていません」COM 例外の解決

COM クラスをインスタンス化するときに、次のエラーが発生する可能性があります:

<code>Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))</code>
ログイン後にコピー

これは、コードが使用する COM クラスがシステムに正しく登録されていないことを示します。 修正方法は次のとおりです:

1.アーキテクチャの調整:

すべてのアセンブリが正しいシステム アーキテクチャ向けに構築されていることを確認します。 64 ビット環境でエラーが発生した場合は、アセンブリが x64 用にコンパイルされていることを確認してください。 x86 用のソリューションを再構築すると、問題が解決される可能性があります。

2. COM コンポーネントを再登録します:

アーキテクチャが問題ではない場合は、コード内で参照されている COM コンポーネントを再インストールしてみてください。 COM コンポーネントのインストーラーまたはレジストリ情報は、通常、Microsoft Visual Studio Tools for Office インストーラーまたは Windows レジストリ (HKCR\CLSID の下) 内にあります。

役立つテクニック:

  • Visual Studio のレジストリ エディタ: Visual Studio には、COM 登録設定を調べて調整するためのレジストリ エディタが含まれています。
  • Regasm.exe ユーティリティ: Windows RegAsm ユーティリティを使用すると、COM クラスの手動登録と登録解除が可能になります。
  • 32 ビット アプリケーションの有効化: 64 ビット環境では、Enable32BitApplications レジストリ キー (HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows にあります) を 1 に設定して、32 ビット アプリケーションのサポートが有効になっていることを確認します。

これらの手順に従うことで、COM 登録例外を効果的に診断して解決し、アプリケーションが中断なく実行されるようにすることができます。

以上が「クラスが登録されていません」COM 例外 (0x80040154) を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート