Utilisation de l’outil Regsvr32 et résolution des problèmes indiqués dans les messages d’erreur Regsvr32

Si cet article ne contient pas la description du message d’erreur que vous avez reçu, vous pouvez consulter des explications détaillées sur des messages d’erreur, des actions recommandées et des ressources de support supplémentaires sur le site web de TechNet à la page Événements et erreurs

Résumé

Regsvr32 est un utilitaire de ligne de commande permettant d’inscrire et de désinscrire des contrôles OLE, tels que des contrôles ActiveX et des DLL dans le Registre Windows. Regsvr32.exe est installé dans le dossier %systemroot%\System32 de Windows XP et des versions ultérieures de Windows.


Remarque Dans 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.

Syntaxe de la commande Regsvr32

RegSvr32.exe prend en charge les options de ligne de commande suivantes :

Regsvr32 [/u] [/n] [/i[:cmdline]] <nom_DLL>

/u - Désinscrit le serveur

/i - Appelle DllInstall et transmet un élément [cmdline] facultatif. Utilisé avec /u, appelle dll uninstall
/n - N’appelle pas DllRegisterServer. Utiliser cette option avec /i

/s - Silencieux ; n’afficher aucune boîte de message

Solutions courantes aux erreurs liées à Regsvr32

Essayez l’une des méthodes suivantes lorsqu’une erreur liée à Regsvr32 survient :

  • Méthode 1 : Réexécuter la commande Regsvr32 à partir d’une invite de commandes avec élévation de privilègesPour ouvrir une invite de commandes avec élévation de privilèges, procédez comme suit :

    Windows 8.1 et Windows 8Effectuez un balayage depuis le bord droit de l'écran, puis appuyez sur Rechercher. Ou, si vous utilisez une souris, pointez sur l'angle inférieur droit de l'écran, puis cliquez sur Rechercher. Tapez Invite de commandes dans la zone de recherche, cliquez avec le bouton droit sur Invite de commandes, puis cliquez sur Exécuter en tant qu’administrateur. Si vous êtes invité à entrer un mot de passe administrateur ou à confirmer l’opération, entrez votre mot de passe ou cliquez sur Autoriser.

    Windows 7 et Windows VistaCliquez sur Démarrer, tapez Invite de commandes ou cmd dans la zone de recherche, cliquez avec le bouton droit sur Invite de commandes, puis cliquez sur Exécuter en tant qu’administrateur. Si vous êtes invité à entrer un mot de passe administrateur ou à confirmer l’opération, entrez votre mot de passe ou cliquez sur Autoriser.

    Windows XPOuvrez une session avec un compte d’administrateur ou un compte doté de droits d’administrateur, puis ouvrez une fenêtre d’invite de commandes.

  • Méthode 2 : Utiliser la version 32 bits de Regsvr32 pour inscrire une DLL 32 bits sur une version 64 bits de WindowsSi une erreur s’affiche lorsque vous inscrivez une DLL 32 bits sur une version 64 bits de Windows, procédez comme suit :

    1. Ouvrez une invite de commandes avec élévation de privilèges.

    2. Si la DLL 32 bits se trouve dans le dossier %systemroot%\System32, déplacez-la vers le dossier %systemroot%\SysWoW64.

    3. Exécutez la commande suivante :

      %systemroot%\SysWoW64\regsvr32 <full path of the DLL>

Messages d’erreur Regsvr32

Le tableau suivant contient les messages d’erreur RegSvr32 et leurs causes possibles :

Message d’erreur

Cause

L’indicateur de commande « %1 » n’est pas valide. Relisez l’utilisation de la commande et réessayez.

Une combinaison d’options non valide a été transmise dans la ligne de commande à regsvr32.exe.

Cette commande est valide seulement si un projet de contrôle personnalisé OLE Microsoft Visual Studio est ouvert.

Regsvr32.exe a été appelé par Visual Studio, mais aucun module n’a été spécifié dans la ligne de commande.

Pour inscrire un module, vous devez indiquer un nom binaire.

Regsvr32.exe a été appelé sans module spécifié dans la ligne de commande.

Échec de l’exécution de la commande OleInitialize. La mémoire de votre ordinateur est peut-être insuffisante. Fermez tous les programmes ouverts et réessayez.

Regsvr32 doit initialiser la bibliothèque COM avant qu’elle ne puisse appeler les fonctions nécessaires de la bibliothèque COM et désinitialiser la bibliothèque lorsqu’elle s’arrête. Ces messages d’erreur se produisent si une tentative d’initialisation ou d’annuler l’initialisation de la bibliothèque COM échoue.

Échec du chargement du module « %1 ».\n\nVérifiez que le fichier binaire est stocké à l’emplacement désigné par le chemin d’accès spécifié ou déboguez-le pour rechercher d’éventuels problèmes de fichiers .DLL binaires ou dépendants.\n\n%2.

Une erreur s’est produite lors du chargement d’un module spécifié dans la ligne de commande. Le texte d’erreur s’affiche dans le message.

Le module « %1 » a été chargé, mais le point d’entrée %2 est introuvable.\n\nVérifiez que « %1 » est un fichier DLL ou OCX valide, puis réessayez.

Regsvr32.exe n’a pas pu trouver le point d’entrée requis dans le module spécifié dans la ligne de commande. Ce problème peut survenir si les points d’entrée ne sont pas correctement exportés du module ou si le module n’est pas un fichier .DLL ou .OCX.

Le module « %1 » a été chargé, mais l’appel à %2 a échoué avec le code d’erreur %3.\n\nPour plus d’informations sur ce problème, effectuez une recherche en ligne en utilisant le code d’erreur comme terme à rechercher.

Une erreur s’est produite lorsque regsvr32.exe a appelé le point d’entrée dans le module spécifié dans la ligne de commande. Le code d’erreur s’affiche dans le message.

Le module « %1 » peut ne pas être compatible avec la version de Windows que vous exécutez. Vérifiez que le module est compatible avec une version x86 (32 bits) ou x64 (64 bits) de regsvr32.exe.

Par exemple, cette erreur peut se produire si regsvr32.exe est exécuté sur un ordinateur x86 et si le module spécifié dans la ligne de commande est un module 64 bits.


Le tableau suivant contient les messages d’erreur RegSvr32 et leurs causes possibles :

Message d’erreur

Cause

Indicateur non reconnu : /invalid_flag

Vous avez tapé une combinaison d’indicateurs ou de commutateurs non valide.

Aucun nom de DLL spécifié.

Vous n’avez pas inclus de nom de fichier .dll.

Nom_DLL a été chargé, mais le point d’entrée DllRegisterServer ou DllUnregisterServer est introuvable.

Le nom de DLL spécifié ne correspond pas à un fichier .dll ou .ocx. Par exemple, ce message d’erreur est généré si vous tapez regsvr32 wjview.exe.

Nom_DLL n’est pas un fichier exécutable et aucune application d’assistance d’enregistrement n’est enregistrée pour ce type de fichier.

Le nom de DLL spécifié ne correspond pas à un fichier exécutable (.exe, .dll ou .ocx). Par exemple, ce message d’erreur est généré si vous tapez regsvr32 autoexec.bat.

Nom_DLL n’est pas auto-inscriptible ou une version endommagée se trouve dans la mémoire.

Par exemple, ce message d’erreur s’affiche si vous tapez regsvr32 icwdial.dll, car le fichier Icwdial.dll n’est pas auto-inscriptible. Si vous soupçonnez qu’une version endommagée de Nom_DLL se trouve en mémoire, redémarrez votre ordinateur ou réextrayez la version d’origine du fichier.

Échec de OleInitialize (ou échec de OleUninitialize)

Regsvr32 doit initialiser la bibliothèque COM avant qu’elle ne puisse appeler les fonctions nécessaires de la bibliothèque COM et désinitialiser la bibliothèque lorsqu’elle s’arrête. Ces messages d’erreur se produisent si une tentative d’initialisation ou d’annuler l’initialisation de la bibliothèque COM échoue. Par exemple, le fichier Ole32.dll est peut-être endommagé ou la version utilisée n’est peut-être pas la bonne.

Échec de LoadLibrary("nom_DLL"). GetlastError retourne 0x00000485

Depuis Winerror.h, 0x00000485 = 1157 (ERROR_DLL_NOT_FOUND). L’un des fichiers bibliothèques nécessaires à l’exécution de cette application est introuvable. Par exemple, si vous tapez regsvr32 missing.dll, ce message d’erreur s’affiche si le fichier Missing.dll est introuvable.

Échec de LoadLibrary("nom_DLL"). GetLastError retourne 0x00000002

Depuis Winerror.h, 0x00000002 = 2 (ERROR_FILE_NOT_FOUND). Le fichier spécifié est introuvable dans le système. En d’autres termes, une DLL dépendante est introuvable. Par exemple, si vous tapez regsvr32 icwdial.dll alors que le fichier Tapi32.dll (une dépendance) manque, ce message d’erreur s’affiche.

Échec de LoadLibrary("dskmaint.dll"). GetLastError retourne 0x000001f

Depuis Winerror.h, 0x000001f = 31 (ERROR_GEN_FAILURE). Un périphérique attaché au système ne fonctionne pas. Ce problème peut se produire si vous essayez d’inscrire un fichier .dll Win16. Par exemple, ce message d’erreur s’affiche si vous tapez regsvr32 dskmaint.dll.

Échec de DllRegisterServer (ou DllUnregisterServer) dans nom_DLL. Le code de retour était le suivant : chaîne

Recherchez dans le fichier Winerror.h la chaîne spécifiée dans le message.


Besoin d’aide ?

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoindre Microsoft Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×