IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[vs2005][c#]EXception -hresult :0x80040154


Sujet :

C#

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 64
    Points : 50
    Points
    50
    Par défaut [vs2005][c#]EXception -hresult :0x80040154
    salut !!!
    j'ai un logiciel que j'ai programmé en c# sous visual studio 2005 sur un pc qui a xp professionnel comme système d'exploitation ;
    j'ai deployé en suivant toutes les étapes de déploiement et j'ai installé le programme sur un pc qui a windows xp familial ;
    au lancement du programme ,j'ai ce message d'erreur :

    Class not registered (Exception from HRESULT: 0x80040154
    (REGDB_E_CLASSNOTREG))


    comment le résoudre , je ne sais quel bout de code vous envoyer pcq sur mon pc de programmation tout marche bien !!!
    merci pour votre aide

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Tu utilises un composant ActiveX, non ?
    Il faut qu'il soit enregistré sur la machine avec l'utilitaire regsvr32

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 64
    Points : 50
    Points
    50
    Par défaut
    ok ,
    je l'ajoute et je vous donne les nouvelles !!!

  4. #4
    Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 64
    Points : 50
    Points
    50
    Par défaut
    merci ça marche !!!

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    Bonjour

    J'ai exactement la même erreur !

    J'ai pas compris le "Il faut qu'il soit enregistré sur la machine avec l'utilitaire regsvr32"

    je suis un noob, vous pouvez pas m'expliquer un peu ?

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par benclub Voir le message
    J'ai pas compris le "Il faut qu'il soit enregistré sur la machine avec l'utilitaire regsvr32"

    je suis un noob, vous pouvez pas m'expliquer un peu ?
    Tu ouvres une console, tu vas dans le répertoire où il y a la DLL ActiveX, et tu tapes :
    Code DOS : Sélectionner tout - Visualiser dans une fenêtre à part
    regsvr32 nomDeLaDll.dll

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    tres rapide !

    merci

    mon probleme doit venir d'autre part


    En fait ma première erreur est :

    Type 'AxRTUPDATEMANAGERLib.AxRTUpdateManager' introuvable. Assurez-vous que l'assembly qui contient ce type est référencé. Si ce type est un composant de votre projet de développement, assurez-vous que le projet a été créé comme il se doit.


    J'ai rejaouté des dll met je suis tombé sur cette erreur, avec la commande DOS, ça marche pas non plus

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    normalement, quand tu ajoutes le composant ActiveX à ta boîte à outils, et que tu poses le composant sur ta form, ça génère 2 assemblies : RTUPDATEMANAGERLib.dll et AxRTUPDATEMANAGERLib.dll

    Les références à ces 2 assemblies doivent normalement être ajoutées au projet. Si ce n'est pas le cas, ajoute les manuellement

    Si tu ne trouves pas ces assemblies, il faut les regénérer. Ouvre la console visual studio ("Invite de commande Visual Studio", dans le menu démarrer, sous menu visual studio tools), mets toi dans le répertoire où il y a la DLL ActiveX, et exécute cette commande :
    Code DOS : Sélectionner tout - Visualiser dans une fenêtre à part
    aximp nomDeLaDllActiveX.dll
    Normalement ça doit générer les 2 assemblies cités plus haut, tu n'as plus qu'à les ajouter dans les références de ton projet

  9. #9
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    Humm j'ai pas de visual studio tools chez moi

    J'utilise juste Microsoft visual C# 2008 Express


    Je t'explique mon décors, sur mon PC j'ai une VM avec un projet qui marche

    Voici les petites dll qui ne marche pas sur mon PC

    extrait du projet vu avec Visual sous la VM :




    J'ai copié le dossier du projet sur mon Bureau

    et voila ce que ça donne dans quand j'ouvre ce projet avec mon PC





    Si j'ai bien compris il faut que je régénère les dll avec la console visual studio

    mais je ne la trouve pas





    je viens de voir ce dossier, je l'avais jamais vu avant





    Et la j'ai deux dll, c'est l'emplacement ou les références sont placés



    si c'est pas la que se trouve les DLL activeX, ou c'est ?



    voila, j'espere que tu pourras m'aider avec tout ça

  10. #10
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    a priori les 2 DLL en question sont référencées avec un chemin relatif... essaie de les copier de la VM vers ton PC, en gardant le même chemin relatif par rapport au projet

  11. #11
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    j'ai copié le projet en entier ...

    le probleme c'est que dans le projet j'ai AxRTUPDATEMANAGERLib.dll et que dans mon dossier j'ai AxInterop.RTUPDATEMANAGERLib.dll

    c'est la que je comprends pas

  12. #12
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par benclub Voir le message
    le probleme c'est que dans le projet j'ai AxRTUPDATEMANAGERLib.dll et que dans mon dossier j'ai AxInterop.RTUPDATEMANAGERLib.dll
    J'ai déjà vu un truc comme ça, mais je sais pas très bien pourquoi... je soupçonne que les différentes versions de Visual Studio ne génèrent pas toutes des wrappers avec les mêmes noms. Essaie de supprimer les références à (Ax)RTUPDATEMANAGERLib et de mettre à la place des références à (Ax)Interop.RTUPDATEMANAGERLib

  13. #13
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    J'ai suivi deux pistes

    1) j'ai renommé mes (Ax)Interop.RTUPDATEMANAGERLib.dll en (Ax)RTUPDATEMANAGERLib.dll

    mais la ça me met comme erreur : Classe non enregistrée (Exception de HRESULT : 0x80040154 (REGDB_E_CLASSNOTREG))



    2) Voici ce que j'ai dans ma VM





    y a une étape que j'ai du louper

  14. #14
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    c'est pas ça que je t'ai dit... faut pas les renommer, mais référencer les DLL qui ont Interop dans le nom

  15. #15
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    Voila je viens de le faire




    Comme tu le voix, les (Ax)Interop.RTUPDATEMANAGERLib.dll ne sont pas devenue des (Ax)RTUPDATEMANAGERLib.dll dans ma liste de référence de mon projet sur mon PC

  16. #16
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par benclub Voir le message
    Comme tu le voix, les (Ax)Interop.RTUPDATEMANAGERLib.dll ne sont pas devenue des (Ax)RTUPDATEMANAGERLib.dll dans ma liste de référence de mon projet sur mon PC
    Non, mais ça n'a pas d'importance...

  17. #17
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    Passons à ce que tu as dis en premier à tatikambwa


    Citation Envoyé par tomlev Voir le message
    Tu utilises un composant ActiveX, non ?
    Il faut qu'il soit enregistré sur la machine avec l'utilitaire regsvr32

    quand je vais dans exécuter et que je tape

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    regsvr32 Interop.RTUPDATEMANAGERLib.dll

    ça me dit que le module spécifié est introuvable !

  18. #18
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Interop.RTUPDATEMANAGERLib.dll, c'est le wrapper du composant ActiveX. C'est la DLL du composant ActiveX lui-même qu'il faut inscrire avec regsvr32

  19. #19
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    je veux bien le faire mais je ne sais toujours pas comment on fait

  20. #20
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par benclub Voir le message
    je veux bien le faire mais je ne sais toujours pas comment on fait
    ben tu fais la même chose, mais au lieu de mettre Interop.RTUPDATEMANAGERLib.dll en paramètre de regsvr32, tu mets le nom du composant ActiveX (probablement RTUPDATEMANAGER.dll ou RTUPDATEMANAGER.ocx)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [2013] (exception de HRESULT : 0X80040154 (REGB_E_classnotreg))
    Par GALFEROG dans le forum Microsoft Office
    Réponses: 1
    Dernier message: 20/05/2014, 20h21
  2. Réponses: 1
    Dernier message: 27/04/2014, 11h48
  3. exception hresult 0x800A03EC
    Par zanoubya dans le forum VB.NET
    Réponses: 4
    Dernier message: 28/01/2010, 12h00
  4. Migration vs2003 -> vs2005: Catch exceptions
    Par cmathieu dans le forum C++
    Réponses: 12
    Dernier message: 26/11/2009, 00h27
  5. [C#]Exception from HRESULT: 0x8007007F
    Par ccensam dans le forum Windows Forms
    Réponses: 3
    Dernier message: 23/08/2006, 10h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo