locked
regsvr32 fonctionne sous Windows XP x86 mais pas sous Windows 7 x64 RRS feed

  • Discussion générale

  • Bonjour,

    J'essaie d'enregistrer une dll sous Windows 7 x64. J'ai un message d'erreur :

    ============

    Échec du chargement du module « C:\Windows\System32\VSUserControlHost.dll ».
    
    Vérifiez que le fichier binaire est stocké à lemplacement désigné par le chemin daccès spécifié ou déboguez-le pour rechercher d’éventuels problèmes de fichiers .DLL binaires ou dépendants.
    
    Le module spécifié est introuvable.

    ============

    Voici le fichier en question : VSUserControlHost.dll

    Je ne comprends pas ce qui se passe, cela fonctionne bien sur des machines Windows XP x86...

    Pouvez-vous m'aider svp ?

    Merci.

    Cordialement.


    Matteo, .NET Developer and System Engineer



    vendredi 10 février 2012 16:11

Toutes les réponses

  • Le vendredi 10/02/2012 17:11:50, joujoukinder a écrit dans le message <news:3d30511c-aa1c-4591-8c9c-b19fd98de679@communitybridge.codeplex.com> ce qui suit :

    Hi everyone,

    I am trying to register a dll on Windows 7 x64. I get a message that says the module cannot be loaded.

    Here is the file : VSUserControlHost.dll <http://www.mediafire.com/?411dd9tyl5q982s>

    I don't know what is wrong. It works well on Windows XP x86 machines.

    Can U help me please ?

    CLASSIQUE !!!

    Suivant que la DLL à enregistrer est 32 ou 64 bits, il faut utiliser le bon REGSVR32.EXE !

    Si DLL 32 bits :
       C:\Windows\SysWOW64\regsvr32.exe xxxxxxx.dll
    Si DLL 64 bits :
       C:\Windows\System32\regsvr32.exe xxxxxxx.dll



    May the Force be with You!
    La Connaissance s'accroît quand on la partage
    ----------------------------------------------------------
    Jean-Claude BELLAMY [MVP Expert IT Pro]
    http://www.bellamyjc.org  ou http://jc.bellamy.free.fr

    vendredi 10 février 2012 16:51
  • Merci Jean-Claude,

    J'ai oublié de préciser que j'avais déjà essayé d'utiliser les deux
    regsvr32  32 et 64. Cela me met le même message d'erreur. J'ai aussi
    essayé de lancer cmd.exe en tant qu'administrateur : même résultat.

    Cordialement.

    Matteo, .NET Developer and System Engineer

    vendredi 10 février 2012 18:47
  • Le vendredi 10/02/2012 19:47:33, joujoukinder a écrit dans le message <news:763b34d1-248c-4eb9-818a-405f9ea038d2@communitybridge.codeplex.com> ce qui suit :

    Merci Jean-Claude,

    J'ai oublié de préciser que j'avais déjà essayé d'utiliser les deux
    regsvr32  32 et 64. Cela me met le même message d'erreur. J'ai aussi
    essayé de lancer cmd.exe en tant qu'administrateur : même résultat.

    Il  y a quelques mois je me suis heurté à un problème similaire avec la dll CAPICOM.DLL (gestion de certificats, chiffrement, ...), mais j'ai réussi à l'enregistrer, au prix - si ma mémoire est bonne - d'un "bidouillage" dans la BDR.
    Je ne me souviens plus exactement quoi (j'aurais du le noter!), je vais faire des recherches ...

    NB: C'est un problème récurrent ...



    May the Force be with You!
    La Connaissance s'accroît quand on la partage
    ----------------------------------------------------------
    Jean-Claude BELLAMY [MVP Expert IT Pro]
    http://www.bellamyjc.org  ou http://jc.bellamy.free.fr

    vendredi 10 février 2012 21:44
  • Bonjour ,

    Procéder par  désenregistrer  la dll

    regsvr32 /u c:\windows\system32\vsusercontrolhost.dll

    Puis réenregistrer cette dll :

    regsvr32 c:\windows\system32\vsusercontrolhost.dll

    Cordialement

    samedi 11 février 2012 07:15
    Auteur de réponse
  • Bonjour ,

    Procéder par  désenregistrer  la dll

    regsvr32 /u c:\windows\system32\vsusercontrolhost.dll

    Puis réenregistrer cette dll :

    regsvr32 c:\windows\system32\vsusercontrolhost.dll

    Cordialement

    Bonjour,

    C'est une nouvelle installation, la dll n'a jamais été enregistrée auparavant...

    Cordialement


    Matteo, .NET Developer and System Engineer

    lundi 13 février 2012 14:12
  • Bonsoir ,

    Tester la commande regsvr32 avec le paramètre /i

    regsvr32 /i c:\windows\system32\vsusercontrolhost.dll

    Cordialement

    lundi 13 février 2012 19:31
    Auteur de réponse
  • Chers amis, j'ai tout essayé, il n'y a pas moyen d'enregistrer cette fichue dll....

    Matteo, .NET Developer and System Engineer

    mardi 14 février 2012 09:22
  • Finalement, j'ai abandonné et trouvé une autre alternative. Impossible de venir à bout de ce problème autrement.

    Merci tout de même pour votre aide!

    Cordialement.


    Matteo, .NET Developer and System Engineer

    vendredi 17 février 2012 14:02
  • Bonjour,

    et pourrait-on connaître quelle solution alternative tu as utilisée ?

    Merci !


    Cordialement
    Aski - MVP Windows Expert-Consumer
    Forum_Aski

    lundi 20 février 2012 09:55
  • J'ai tout simplement redéveloppé un nouveau plugin qui n'utilise pas la dll vsusercontrolhost.dll.

    Cordialement.


    Matteo, .NET Developer and System Engineer

    mercredi 22 février 2012 12:31
  • Contournement donc ! :o)

    Merci pour l'information.


    Cordialement
    Aski - MVP Windows Expert-Consumer
    Forum_Aski

    mercredi 22 février 2012 18:26
  • J'ai mits mes DLL dans le repertoire "windows/system" et regsvr32 s'est mit a fonctionner...

    lundi 11 juin 2012 02:50
  • Ce n'est pas tout à fait ça... Tu peux utiliser regsvr32 de n'importe où pour enregistrer ta DLL.

    Ensuite pour la compatibilité de ton programme 32bits, il faut le lancer le programme à partir du répertoire C:\Windows\SysWOW64

    Exemple: je suis sur Windows 7 64bits. j'ai un VBS qui utilise une DLL spécifique 32 bits

    1. J'enregistre ma DLL avec regsvr32 test.DLL
    2. je lance mon VBS uniquement à partir du répertoire C:\Windows\SysWOW64

    "C:\Windows\SysWOW64\Cscript monScript.VBS"

    et la, ça marche. CQFD :)

    vendredi 15 juin 2012 13:06