100 votes

Comment enregistrer un fichier DLL sous Windows 7 64 bits ?

J'ai essayé d'utiliser le code suivant :

cd c:\windows\system32
regsvr32.exe dllname.ax

Mais cela ne fonctionne pas pour moi. Comment puis-je enregistrer un fichier DLL sous Windows 7 avec un processeur 64 bits ?

199voto

ho1 Points 31752

Vous ne précisez pas s'il s'agit d'une dll 32 ou 64 bits et vous n'indiquez pas le message d'erreur, mais je suppose qu'il s'agit du même problème que celui décrit dans cet article de la KB : Message d'erreur lorsque vous exécutez Regsvr32.exe sur un Windows 64 bits

Citation de cet article :

Ce comportement se produit parce que le fichier Regsvr32.exe dans le dossier System32 est une version 64 bits. Lorsque vous exécutez Regsvr32 pour enregistrer une DLL, vous utilisez par défaut la version 64 bits.

Solution de cet article :

Pour résoudre ce problème, exécutez Regsvr32.exe à partir du répertoire %SystemRoot%. \Syswow64 dossier. Par exemple, tapez les commandes suivantes pour enregistrer la DLL :
cd \windows\syswow64
regsvr32 c:\filename.dll

102voto

Liam Points 768

Si la DLL est 32 bit :

Copiez la DLL dans C:\Windows\SysWoW64\
Dans un surélevé l'invite de commande : %windir%\SysWoW64\regsvr32.exe %windir%\SysWoW64\namedll.dll

si la DLL est 64 bit :

Copiez la DLL dans C:\Windows\System32\
Dans un surélevé l'invite de commande : %windir%\System32\regsvr32.exe %windir%\System32\namedll.dll

Je sais que ça semble être le contraire, mais c'est comme ça que ça marche. Voir :

http://support.microsoft.com/kb/249873
Citation : "Remarque Sur une version 64 bits d'un système d'exploitation Windows, il existe deux versions du fichier Regsv32.exe :
La version 64 bits est %systemroot%. \System32\regsvr32.exe.
La version 32 bits est %systemroot%. \SysWoW64\regsvr32.exe.
"

68voto

Harold Sota Points 2707

Type regsvr32 name.dll dans l'invite de commande et appuyez sur "Entrée". Notez que name.dll doit être remplacé par le nom de la DLL que vous voulez enregistrer. Par exemple, si vous voulez enregistrer la DLL iexplore.dll, tapez regsvr32 iexplore.dll .

29voto

phill Points 121

Sur un système x64, system32 est pour le 64 bits et syswow64 est pour le 32 bits (et non l'inverse comme indiqué dans une autre réponse). WOW (Windows on Windows) est le sous-système 32 bits qui fonctionne sous le sous-système 64 bits).

C'est un véritable gâchis en termes de dénomination, qui ne sert qu'à semer la confusion, mais c'est ainsi.

Encore une fois...

syswow64 est 32 bits, PAS 64 bits.

system32 est 64 bits, PAS 32 bits.

Il y a un regsrv32 dans chacun de ces répertoires. L'un est en 64 bits, et l'autre en 32 bits. C'est la même chose avec odbcad32 et autres. (Si vous voulez voir les fichiers 32-bit ODBC qui n'apparaîtront pas avec l'odbcad32 par défaut dans system32 qui est 64-bit).

8voto

Sushant Rath Points 41

Ouvrez le menu démarrer et tapez cmd dans le champ de recherche Maintenez Ctrl + Shift et appuyez sur Entrée

L'invite de commande s'exécute alors en mode administrateur.

Tapez maintenant : regsvr32 MyComobject.dll

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X