Symptômes:
a) A la sortie d’un dossier dans l’explorer, lors de la visualisation de miniatures, ou à la sortie de l’explorer lui-même, il y a un crash de Windows Explorer, et un message apparaît : Explorer.exe a rencontré des problèmes et doit fermer.
b) Lors de la visualisation d’un répertoire comportant de nombreux fichiers de type video, Explorer.exe s’emballe, et consomme soudainement toutes les ressources.
Contenu de l’article :
Cet article répertorie plusieurs causes possibles des problèmes, et les solutions collectées sur internet.
A) Stratégie de compensation pour permettre à l’utilisateur de sortir proprement lors d’une situation de crash d’Explorer.exe, et permettre de le relancer.
.CAS n°2 : conflit entre codecs.
.CAS n°3 : erreur en visualisation de miniatures video (XP).
.CAS n°4 : erreur de type Data Execution Prevention.
.CAS n°5 : présence d’un malware.
.CAS n°6 : conflit entre extensions de shell.
C) Cause d’emballement de Windows Explorer.
A) Stratégie de compensation pour permettre à l’utilisateur de sortir proprement lors d’une situation de crash d’Explorer.exe, et permettre de le relancer.
Windows gère l’explorateur, le bureau et la barre des tâches au sein d’un seul processus multi-threads. Lorsque l’explorateur se fige, c’est alors l’ensemble du système qui se bloque.
La méthode :
Lancer l’explorateur, seul au sein d’un processus, le bureau et la barre des tâches étant alors gérés eux via un second processus, ce qui n’est pas le cas par défaut. Cette méthode améliore la stabilité du sandwich logiciel, le plantage de l’explorateur ne figeant pas la totalité du système d’exploitation.
Pour ce faire : Ouvrir REGEDIT
Allez dans : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer Créez la valeur DWORD DesktopProcess et donnez lui la valeur 1. ( Zéro est la valeur par défaut, dans ce cas, les processus ne sont pas séparés ).
Redémarrez pour prendre en compte la modification.
B) Les différentes causes du crash de Windows Explorer.
CAS n°1 : le fichier EXPLORER.EXE est corrompu.
Il faut remplacer le fichier Explorer.exe par une version correcte.
La méthode 1 :
Sous Windows, lancer une recherche sur le fichier "explorer.ex*" sur la partition système. on obtient ainsi :
- explorer.exe dans c:\windows (on ne peut pas l’effacer sous windows)
- explorer.ex_ dans le dossier …..\i386 (éventuellement, cela dépend des configurations, il est possible d’effacer ce fichier)
- explorer.exe-xxxxxxx.pf dans c:\windows\prefetch (on peut effacer ce fichier)
- on peut également trouver d’autres fichiers "explorer.exe" dans les dossiers de mise a jour de windows (dans c:\windows, sous-dossier commençant par "$" ou dans c:\windows\software distribution\download). Ces fichiers peuvent être supprimés.
- récupérer le fichier "explorer.ex_" dans le dossier "i386" du CD de XP et le copier a la racine du disque "C" dans un dossier de travail préalablement créé (exemple : C:\tmp)> - redémarrage en "invite de commande en mode sans échec" (en mode sans échec normal cela ne marche pas parce qu’explorer.exe est chargé).
- taper la commande : "expand c:\tmp\explorer.ex_ c:\explorer.exe" (le fichier source est decompressé et un nouvel explorer.exe est copié à la racine du disque C ).
- taper la commande : "del c:\windows\explorer.exe" (explorer.exe est effacé : en cas de redémarrage, le bureau est inopérant … prudence !).
- taper la commande : "move c:\explorer.exe c:\windows\" (explorer.exe est alors déplacé dans le dossier windows). - redémarrer le système. Un message d’erreur apparaît, car l’explorer.exe est différent du précédent. On se retrouve alors avec un écran vide mais c’est normal.
- lancer le gestionnaire de tâches (ctrl+alt.sup). - menu déroulant (en haut a gauche), clic sur "fichier" puis clic sur "éxécuter". - taper "c:\windows\explorer.exe" (le bureau s’affiche).
- vérifier que tout fonctionne bien, et effectuer un redémarrage.
La restauration système peut être réactivée. Cette manipulation s’effectue à vos risques et périls : c’est la raison pour laquelle un backup par image disque est recommandé avant de l’effectuer, pour pouvoir restaurer son système le cas échéant.
La méthode 2 :
Réparer XP/Réinstaller de façon « classique ».
- Démarrer -> Exécuter -> taper « cmd » pour entrer en mode commande DOS.
Dans la fenêtre de commande : Taper « sfc /scannow »
Le CD d’installation de XP sera peut-être nécessaire. Au cas où XP réclame le CD Pro alors que vous avec XP Home, continuez la procédure, c’est un petit bug "cosmétique". Le fait d’introduire le CD avant de taper la commande peut empêcher ce petit problème.
Description de ce que fait SFC à l’adresse http://support.microsoft.com/?kbid=310747
Sinon, - Insérer le CD de Windows XP (tout en restant sous Windows)
- Démarrer -> Exécuter -> taper « X:WINNT32 /unattend » (en remplaçant X par la lettre de votre lecteur CD) Windows va réparer l’installation, tout en conservant toutes les installations de logiciels, configuration etc.
CAS n°2 : L’installation de plusieurs codecs a provoqué un conflit.
Aujourd’hui, il existe une multitude de codecs différents pour lire des vidéos, de nombreux codecs cohabitent alors sur votre machine. Malheureusement, il peut arriver que des conflits apparaissent, ce qui empêche alors leur bon fonctionnement. Il faut alors effectuer une réinstallation "propre" des filtres et codecs afin de ne plus avoir de problèmes lors de la lecture des vidéos.
La méthode 1.
1. Commencer par désinstaller normalement tous les codecs manuellement installés (divx, xvid, ffdshow…)
2. Supprimer tous les filtres : Nous avons besoin d’un logiciel servant à visualiser tous les codecs et filtres enregistrés et permettre de sélectionner ceux à supprimer.
- Il faut supprimer tous les élément marqués "DirectShow".
- Il faut également supprimer tout élément étant classé "broken", qu’il soit classé DirectShow ou pas. - Profiter du moment pour virer tout codec qui ressemble à "DivX", "XviD", ou "ffdshow", etc…
- Quitter le logiciel Nous voilà donc avec un Windows qui ne sait plus lire aucun fichier multimédia, il a "oublié" tous les filtres installés (même si ils sont encore ent sur le disque dur).
3. Réinstaller les filtres de Windows :
Voici donc un .bat qui s’en charge :
regsvr32.exe /s quartz.dll
regsvr32.exe /s wmpasf.dll
regsvr32.exe /s acelpdec.ax
regsvr32.exe /s qcap.dll
regsvr32.exe /s psisrndr.ax
regsvr32.exe /s qdv.dll
regsvr32.exe /s qdvd.dll
regsvr32.exe /s g711codc.ax
regsvr32.exe /s iac25_32.ax
regsvr32.exe /s ir50_32.dll
regsvr32.exe /s ivfsrc.ax
regsvr32.exe /s msscds32.ax
regsvr32.exe /s l3codecx.ax
regsvr32.exe /s mpg2splt.ax
regsvr32.exe /s mpeg2data.ax
regsvr32.exe /s sbe.dll
regsvr32.exe /s qedit.dll
regsvr32.exe /s wmmfilt.dll
regsvr32.exe /s vbisurf.ax
regsvr32.exe /s wiasf.ax
regsvr32.exe /s msadds.ax
regsvr32.exe /s wmv8ds32.ax
regsvr32.exe /s wmvds32.ax
regsvr32.exe /s qasf.dll
regsvr32.exe /s wstdecod.dll
Voilà, nos filtres sont réinitialisés, comme si l’on venait d’installer Windows !
4. Réinstaller les codecs : Maintenant que les filtres sont réinstallés, un pack codecs peut-être mis en place : FFDSHOW-alpha ou le Satsuki Decoder pack, etc
Effectuer l’installation par défaut ; les connaisseurs pourront eux tenter une installation personnalisée (au pire si cela pose problème, il est possible de revenir en arrière en recommençant les manœuvres depuis le début).
Télécharger le pack de codecs Microsoft correspondant à votre système d’exploitation.
5. Enfin, si le MCI pose problème lui aussi :
Dans la base de registre : LOCAL MACHINE/SOFTWARE/MICROSOFT/WINDOWS NT/MCI32 Ajoutez ou modifiez les entrées pour obtenir le résultat suivant (ce sont des entrées en "valeur chaîne") : AVIVideo = mciavi32.dll CDAudio = mcicda.dll MPEGVideo = mciqtz32.dll Sequencer = mciseq.dll WaveAudio = mciwave.dll
Pour finir il faut redémarrer le PC. Il est fortement recommandé de sauvegarder la base de registre, le système et les données avant cette manoeuvre.
CAS n°3 : La visualisation de miniatures video provoque le plantage d’explorer.exe. Lorsque on visualise des miniatures d’un répertoire explorer.exe plante lorsqu’il essaye de créer les vignettes de vidéos.
La méthode :
Propriété du poste de travail (clic droit et propriété) -> Avancé -> Démarrage et récupération (paramètres)
Cliquez sur le bouton "Modifier" et remplacer: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP édition familiale" /fastdetect /NoExecute=OptIn
Vous pouvez avoir Professionnel au lieu de familial … changez juste le mot-clé OptIn par AlwaysOff
CAS n°4 : Explorer « crashe » à cause d’une erreur Data Execution Prevention
La mise à jour SP2+ de Windows XP active une nouvelle gestion de la mémoire (mode No eXecute), qui permet aux processeurs Athlon 64 d’AMD de protéger le système contre des attaques par dépassement de mémoire tampon. Mais des applications peuvent être incompatibles avec cette prévention d’exécution des données (Data Execution Prevention ou DEP) et ne pas fonctionner correctement.
Il est possible de définir des exceptions et la désactiver pour des applications précises.
Cliquez avec le bouton droit de la souris sur le Poste de travail puis choisissez la commande Propriétés.
Ouvrez ensuite l’onglet Avancé puis cliquez sur le bouton Paramètres de la rubrique Performances.
Ouvrez ensuite l’onglet Prévention de l’exécution des données.
Sélectionnez alors l’option Activer la prévention d’exécution des données pour tous les programmes et services, sauf ceux qui sont cochés.
Cliquez alors sur le bouton Ajouter puis sélectionnez sur votre disque dur l’exécutable de votre programme incompatible avec la Prévention d’exécution des données.
Cliquez alors sur le bouton Ouvrir.
Cliquez enfin sur le bouton OK puis redémarrez votre ordinateur pour appliquer la modification.
CAS n°5 : un malware provoque le crash.
Il faut se débarrasser du nuisible qui interfère avec l’éxécution de Windows Explorer.
La méthode :
Pour ce faire, utiliser les produits habituels. Exemple : télécharger, et éxécuter un freeware comme SPYBOT, puis fixer les problèmes.
CAS n°6 : un shell lié à un « Context Menu » déclaré dans l’Explorer provoque des crashs récurrents et aléatoires.
Le problème intervient lorsque parmis plusieurs logiciels qui insèrent des entrées dans le menu de contexte d’Explorer.exe, il y en a un qui lance un shell qui entre en conflit avec ses petits camarades.
La méthode :
La meilleure façon de résoudre le problème est de télécharger le programme ShellExView de Nirsoft. Après l’avoir lancé, cliquez par exemple sur Type (dans l’entête) pour un tri par catégorie.
Faites un clic droit [Disable], pour les éléments au Type « Context Menu », que vous sélectionnez (et plus spécialement ceux des éditeurs distincts de Microsoft … ) Vous pouvez ensuite les rétablir un par un [Enable] pour les tester et déterminer celui qui provoque le problème persistant.
C) Emballement de l’explorer lors d’une ouverture de répertoire video.
Symptômes : Explorer consomme plus de 90% du CPU lorsqu’on ouvre un répertoire video.
La méthode 1 :
Chercher dans le registre : HKEY_CLASSES_ROOT\SystemFileAssociations\.avi\shellex\PropertyHandler. Il faut effacer le champ "données".
La méthode 2 :
Il y a un autre moyen de résoudre le problème : il peut s’agir d’une clé du registre qui prend plus de RAM que nécessaire pour la prévisualisation des DivX.Il convient donc de supprimer cette clé, ce qui limitera à 30 Mo pas plus, les ressources de l’explorateur, ce qui est négligeable compte tenu des configurations actuelles.
Pour se faire :
- Démarrer - Exécuter -> Lancer REGEDIT
Chercher dans le registre : HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{87D62D94-71B3-4b9a-9489-5FE6850DC73E}
Supprimer la clé "InProcServer32".