Maison >développement back-end >C++ >Comment corriger l'exception COM « Classe non enregistrée (0x80040154) » ?

Comment corriger l'exception COM « Classe non enregistrée (0x80040154) » ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-14 10:42:43536parcourir

How to Fix

Résolution de l'exception COM : classe non enregistrée (0x80040154)

Lors de la tentative d'instancier une classe COM, une exception s'est produite avec le message "Classe non enregistrée (Exception de HRESULT : 0x80040154 (REGDB_E_CLASSNOTREG))". Cette erreur signifie que le composant COM n'est pas enregistré dans le registre système. Pour résoudre ce problème, veuillez suivre ces étapes :

1. Vérifier l'architecture de l'assemblage

Assurez-vous que les assemblys ciblant les composants COM sont compilés en utilisant la même architecture. Si l'exception persiste après la réinstallation du composant COM, essayez de modifier l'architecture de l'assembly en x86.

2. Enregistrez le composant COM

Ouvrez une invite de commande élevée et accédez au répertoire où se trouve le composant COM. Exécutez la commande suivante pour enregistrer le composant :

<code>regsvr32 YourComponentName.dll</code>

Remplacez "YourComponentName.dll" par le nom réel du composant COM.

3. Accorder l'accès aux clés de registre

Assurez-vous que l'utilisateur connecté dispose des autorisations suffisantes pour accéder aux clés de registre requises. Accorde à l'utilisateur la propriété de :

<code>HKEY_CLASSES_ROOT\CLSID\{YourComponentGUID}</code>

Remplacez "{YourComponentGUID}" par le GUID du composant COM.

4. Activer le débogage

Activez le débogage pour voir des messages d'erreur plus détaillés. Dans Visual Studio, sélectionnez le menu Déboguer et cliquez sur Attacher au processus. Attachez-le au processus où l'exception s'est produite. Cela vous permettra de parcourir le code et d'identifier la cause spécifique de l'erreur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn