Maison > développement back-end > C++ > Comment corriger l'exception « Classe non enregistrée » dans les applications COM ?

Comment corriger l'exception « Classe non enregistrée » dans les applications COM ?

Susan Sarandon
Libérer: 2025-01-14 11:28:42
original
598 Les gens l'ont consulté

How to Fix the

Résolution de l'exception « Classe non enregistrée » dans les applications COM

Lors de la création d'une instance d'une classe COM, une erreur s'est produite : "Classe non enregistrée (Exception de HRESULT : 0x80040154 (REGDB_E_CLASSNOTREG))". Cette exception indique que la classe COM cible n'est pas correctement enregistrée sur le système.

Dépannage :

Pour résoudre ce problème, veuillez suivre ces étapes :

  1. Réinstallez le composant COM : Désinstallez et réinstallez le composant COM associé à la classe que vous essayez d'instancier. Cela garantira que les clés de registre nécessaires sont correctement enregistrées.

  2. Assurez-vous que l'assembly a la bonne architecture : Vérifiez que tous les assemblys référencés par l'application sont compilés pour la même architecture. Si vous ciblez une application 32 bits, tous les assemblys doivent être compilés pour 32 bits. Si vous ciblez une application 64 bits, tous les assemblys doivent être compilés pour 64 bits.

  3. Enregistrez manuellement les classes COM : Si la réinstallation des composants COM ne résout pas le problème, vous pouvez utiliser l'utilitaire regsvr32 pour enregistrer manuellement les classes COM. Ouvrez une invite de commande en tant qu'administrateur et exécutez la commande suivante :

    <code>regsvr32 <COM文件路径></code>
    Copier après la connexion

    Remplacez <COM文件路径> par le chemin complet du fichier COM (.dll ou .ocx) que vous essayez d'enregistrer.

  4. Mettre à jour les autorisations du registre : Assurez-vous que la clé de registre de la classe COM dispose des autorisations appropriées. Accédez à la clé de registre suivante :

    <code>HKEY_CLASSES_ROOT\<ProgID></code>
    Copier après la connexion

    <ProgID> est l'identifiant programmatique (ProgID) de la classe COM. Accordez à votre compte les autorisations nécessaires pour lire, écrire et créer des sous-clés dans cette clé de registre.

En suivant ces étapes, vous pouvez résoudre l'exception « Classe non enregistrée » dans votre application COM et créer avec succès une instance de la classe COM.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal