Hotline pc one faq windows  
Hotline pc line
Hotline PC - contact Hotline PC - Vista Hotline PC - Windows XP Hotline PC - dossiers Hotline PC - registre Hotline PC - reseaux Hotline PC - applications Hotline PC - ms-dos Hotline PC - gravure Hotline PC - autres
Google
 
Forum
Fonds d'écran
Sonneries
Sonneries
Jeux





Les fichiers DLL

Dernière mise à jour : 19/02/2006

Qu'est ce qu'un fichier DLL ?
Dépannage rapide sous Windows XP
Dépannage complet sous Windows toutes versions
Qu’en est-il des fichiers exécutables ?
Indiquer l’ordre de recherche des fichiers DLL

- Tout savoir sur les fichiers DLL :

"Une DLL est une bibliothèque contenant du code et des données qui peuvent être utilisés en même temps par plusieurs programmes". Toutes les DLL sont répertoriées à cette adresse web : http://support.microsoft.com/dllhelp. En cliquant sur les liens Informations et Détails vous obtiendrez toutes les dépendances du fichier.


- Dépannage rapide sous Windows XP :

Voici une procédure simple qui fonctionne dans la majorité des cas : les fichiers dll sont protégées. Une version de sauvegarde est donc stockée dans ce répertoire : \WINDOWS\system32\dllcache. En termes clairs vous serez plus souvent confrontés à un problème de Registre qu’à un souci de version endommagée du fichier DLL. Afin de réécrire les informations du registre qui sont nécessaires au fonctionnement d’un fichier DLL il vous suffit de vous servir de la commande regsvr32.
Si d’aventure un fichier dll est manquant vous n’avez qu’à inscrire son nom comme recherche dans n’importe quel moteur de recherche. De nombreux sites vous la proposeront en libre téléchargement. Il vous suffit alors de la placer dans \WINDOWS\System32 puis de lancer la commande regsvr32 afin de fusionner les informations contenues dans la dll au Registre Windows. Prenons un exemple classique... Au démarrage de l’ordinateur vous avez ce message d’erreur : "Erreur de chargement du fichier fldrclnr.dll - Le module spécifié est introuvable" ou "Rundll - Une exception s'est produite lors de la tentative d'exécution de fldrclnr.dll,Wizard_RunDLL".
1) Procédez au téléchargement du fichier DLL manquant en effectuant une recherche dans n’importe quel moteur de recherche.
2) Placez-le dans \WINDOWS\System32.
3) Cliquez sur Démarrer/Exécuter puis saisissez : regsvr32 Nom_Fichier_Dll
Par exemple : regsvr32 fldrclnr.dll
4) Il vous suffit ensuite de redémarrer votre machine.
Consultez également le paragraphe consacré aux erreurs sur les points d’entrée.
Il se peut également que cette manipulation de suffise pas ou ne soit pas possible pour le simple fait que d’autres fichiers DLL dont celle-ci dépend ne soient pas présentes dans le système ou soient endommagées. Servez-vous dans ce cas d’un outil comme "Dependency Walker" afin de visualiser le jeu des dépendances et même éventuellement vers quel fichier un appel a été effectué dans que ce dernier ait pu aboutir.

- Dépannage complet sous Windows toutes versions :

Ce qui suit est un mémento d'ordre général n'ayant pas la prétention de vous permettre de résoudre tous les problèmes de la terre mais fixe quelques règles simples qui fonctionneront dans 90% des cas.
Note : les fichiers DLL sont placés dans \Windows\system ou \Windows\system32.
Sous Windows 98, Millenium ce sont généralement les fichiers DLL qui sont corrompus.
Sous Windows XP et ultérieur, le problème se situe généralement au niveau du Registre (les fichiers DLL faisant partie des fichiers "protégés").
On ne parle uniquement que des messages d'erreur mettant en cause de manière explicite un ou plusieurs fichiers DLL et non des problèmes qui proviennent d'une version corrompue ou obsolète de ces mêmes fichiers système. Dans ce dernier cas, la fonctionnalité de vérification de fichiers (commande SFC) vous permettra de restaurer facilement la version d'origine du ou des fichiers défectueux.
Sous ces premiers systèmes d'exploitation, le type de message d'erreur est, par exemple, le suivant : "le fichier .EXE a causé une défaillance de page dans le module .DLL"
Sous Windows XP, le module en cause s'obtient de cette façon :
Ce type de message commence par : "Le programme … a rencontré une erreur et doit fermer. Pour obtenir plus d’informations concernant cette erreur "Cliquez ici". En suivant ces recommandations, une autre fenêtre s’ouvre avec la signature de l’erreur clairement indiquée. À droite de "ModName" est mentionné le fichier responsable. Lancez une recherche sur le nom de ce fichier et accédez à ses propriétés. Vous aurez déjà une idée de l’application associée et si le fichier fautif fait partie du système d’exploitation ou d’un logiciel tiers. Pour le reste, les procédures de résolution varient grandement…
Note : vous retrouverez le libellé de l’erreur en cliquant sur Démarrer/Panneau de configuration/Outils d’administration/Observateur d’événements.
Il y a deux possibilités : soit l'erreur se produit au démarrage soit au lancement ou pendant l'utilisation d'un composant du système ou d'une application.
- Le problème se produit au lancement du système d'exploitation :
1a) Pas de démarrage possible : essayez de démarrer en mode sans échec.
1b) Pas de démarrage possible en mode sans échec : redémarrez en mode MS-DOS ou à partir de la Console de récupération et procédez de là à une extraction du fichier DLL en cause. Il est plus sûr de supprimer au préalable la version présente sur votre disque dur.
- Si cela ne fonctionne toujours pas, essayez de réinstaller Windows par dessus.
1c) Pas de démarrage possible en mode MS-DOS : une réinstallation complète de Windows est obligatoire.
2a) J'arrive à démarrer en mode sans échec : servez-vous de l'éditeur de configuration système afin de désactiver du chargement automatique en mémoire le programme qui provoque le message d'erreur.
- Redémarrez ensuite en mode normal.
2b) Je n'arrive toujours pas à démarrer en mode normal : de nouveau en mode sans échec, désinstallez l'application ou le périphérique qui empêche maintenant le système de se lancer.
Note : Sous Windows 9X, il est possible qu'une réparation du Registre en mode MS-DOS fonctionne…
3a) J'arrive à démarrer en mode normal : lancez une recherche sur le nom du fichier qui provoque le message d'erreur. Avec le bouton droit de la souris, cliquez sur le fichier puis choisissez Propriétés. Dans l'onglet Version, il vous sera possible de déterminer si le fichier appartient à Windows (et donc au système) ou à un pilote ou application tierce.
3b) Le fichier DLL fait partie du système d'exploitation : procédez à une extraction du fichier en copiant une version propre à partir du CD-ROM d'installation de Windows.
Attention : il est possible que cette extraction ne soit possible qu'à partir du mode MS-DOS ou de la Console de récupération.
3c) Le fichier DLL ne fait partie du système d'exploitation : copiez une nouvelle version du fichier à partir du CD-ROM d'installation de votre programme. Il vous faut confirmer l'écrasement de la version précédente.
- Si le problème n'est toujours pas résolu, deux possibilités s'offrent à vous :
4a) Désactivez puis réactiver l'enregistrement du fichier DLL en tant que composant du Registre Windows et en vous servant de la commande Regsvr32.
4b) Téléchargez puis copiez une version plus récente du fichier DLL en cause. Accédez à un moteur de recherche comme Google.fr puis tapez simplement comme expression de recherche le nom du fichier DLL". Eventuellement, refaites la manipulation décrite en 4a.
Cela ne fonctionne toujours pas : c'est clairement un problème de Registre.
Dans tous les cas et si la panne est bloquante, procédez à une Restauration du système en choisissant une date antérieure à l'apparition de votre problème.
Si le souci ne se pose que sur une application précise ou pendant l'utilisation d'un périphérique, essayez de voir s'il existe une mise à jour ou un correctif disponible sur Internet.
- Le problème se pose au lancement d'une application ou d'un composant du système :
Suivez la procédure initiée en 3a.
Cas particulier : le problème s'est posé dès l'installation d'une application et le fichier DLL en cause ne fait pas partie de mon système d'exploitation. Essayez de supprimer (ou de renommer à titre de test le fichier DLL). Cela fonctionne plus souvent qu'on ne le croit !
- Tout ceci n'a rien donné : là aussi, l'installation du dernier Service Pack (Internet Explorer, Windows XP, etc.) peut vous permettre de résoudre un problème apparemment insoluble.
Sinon, la solution est d'ordre "non conventionnelle" : manipulation du Registre, principalement.
Signalons enfin que les messages d’erreur sur les fichiers DLL sont souvent le signe d’une infection virale ! Le type d'erreur est alors : "Erreur de démarrage du programme - Ce programme va être arreté car il a effectué une opération non conforme - Détail : Explorer a causé une défaillance de page dans le module KERNEL32.DLL".


- Qu’en est-il des fichiers exécutables ?

Il est parfois possible de se servir des commutateurs /REGSERVER et /UNREGSERVER afin de réparer les informations du Registre correspondantes. Par exemple, saisissez : excel /regserver

- Indiquer l’ordre de recherche des fichiers DLL :

Il arrive que dans les propriétés d’un raccourci, la commande Exécuter dans soit non renseignée. Si le répertoire courant de travail est sur un lecteur réseau, cette astuce permet de résoudre des problèmes de lenteur pendant le lancement de l’application en forçant le programme lancé à travers le réseau d’utiliser les DLL placées en local avant celles du partage ou bien à "squizzer" une version obsolète d’une DLL.
1) Parcourez HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager.
2) Créez ( ou modifiez ) une valeur DWORD nommée : SafeDllSearchMode
3) Affectez-lui la valeur 1.
L'ordre de recherche sera alors :
Le répertoire %SystemRoot%\System32
Le répertoire %SystemRoot%
Le répertoire courant
Un des répertoires indiqués par la variable d’environnement %Path%
Note : Si la valeur est sur 0, c’est le répertoire courant qui est d’abord "scanné".
Au démarrage de l’ordinateur, le système scanne les .dll "amies" pour les applications 32 bits en vérifiant leur présence dans HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs et HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WOW dans le cas d’applications 16 bits…
Vous pouvez exclure une DLL en faisant croire au système que ce fichier ne fait plus partie des DLL connues) si vous parcourez HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager et que vous insérez dans la valeur chaînes multiples : ExcludeFromKnownDlls le nom 8.3 de la DLL (une par ligne si vous inscrivez plusieurs fichiers).
Remarque : Une DLL est traitée comme faisant partie du groupe "KnownDll" si elle possède un lien implicite vers une DLL explicitement listée.
Si votre DLL ne fait pas partie de la liste KnownDLLs, l’ordre de recherche est le suivant :
1) Le répertoire où est placé l’exécutable du processus qui charge la DLL.
2) Le répertoire courant du processus qui charge la DLL.
3) Le répertoire %SystemRoot%\System32.
4) Le répertoire %SystemRoot%.
5) Un des répertoires indiqués par la variable d’environnement %Path%.
Sinon l'ordre respecté sera celui-ci : 3 - 1 - 2 - 4 - 5.

 

blog, bookmark, newsletter


catalogue interactif - abc-blagues - infopage - les societes - entrepreneurs de france - flashmeat topsitefr - radioduweb
c-rigolo - woopami - rire-et-sourire - pubstv - widouf - planete-nokia - streaming-fr - photo numérique - Vins Fromaget - Maisons en bois

© 2001-2008 Hotline-PC.org. Tous droits réservés. Ce site fait régulièrement l'objet d'un marquage IDDN.IDDN Certification
Un site du réseau : 

Contact - Plan du site - Notice légale
Blog Bookmark Newsletter