Erreur 0xc000007b « L'application n'a pas réussi à démarrer correctement » : la corriger
Le message « L'application n'a pas réussi à démarrer correctement (0xc000007b). Cliquez sur OK pour fermer l'application. » apparaît au lancement d'un jeu ou d'un logiciel, souvent juste après la copie d'une DLL ou l'installation d'un programme.
Contrairement à l'erreur « DLL manquante », le fichier est bien trouvé : c'est sa version 32 ou 64 bits qui ne correspond pas au programme. Ce guide explique comment trouver le fichier en cause et remettre les choses en ordre.
En bref
- Le code 0xc000007b signifie qu'un programme a chargé une DLL de la mauvaise architecture : une DLL 64 bits dans un programme 32 bits, ou l'inverse.
- Annulez d'abord les copies de DLL faites à la main, surtout dans
C:\Windows\System32etC:\Windows\SysWOW64. - Réinstallez ensuite les paquets officiels Visual C++ et DirectX en versions x86 et x64, puis réparez le programme lui-même.
D'où vient l'erreur 0xc000007b ?
Windows est aujourd'hui en 64 bits, mais beaucoup de jeux et de logiciels sont encore en 32 bits. Un programme ne peut utiliser que des DLL de la même architecture que lui. Quand Windows trouve une DLL du bon nom mais de la mauvaise architecture, il refuse de lancer le programme avec le code 0xc000007b (« format d'image incorrect »).
Les causes les plus fréquentes :
- DLL copiée à la main au mauvais endroit : une DLL 32 bits placée dans
C:\Windows\System32, ou une DLL 64 bits placée dansC:\Windows\SysWOW64ou dans le dossier d'un jeu 32 bits. - Paquet Visual C++ ou DirectX incomplet : seule la version 64 bits est installée alors que le jeu est en 32 bits (ou l'inverse), ou le paquet est endommagé.
- Installation du programme modifiée : fichier remplacé par un patch, un mod ou supprimé par un antivirus.
À ne pas confondre avec le code 0xc0000135, qui signifie qu'un composant est introuvable (souvent .NET Framework) : dans ce cas, le fichier manque vraiment.
Étape 1 : annuler les copies de DLL faites à la main
Si vous avez copié une ou plusieurs DLL juste avant l'apparition de l'erreur, c'est la première piste :
- Retrouvez les fichiers copiés : dans le dossier du programme (à côté de son
.exe), dansC:\Windows\System32et dansC:\Windows\SysWOW64. Triez par Date de modification pour repérer les plus récents. - Vérifiez leur architecture : sur notre site, chaque fiche indique si la DLL est en 32 ou 64 bits, et beaucoup proposent les deux versions. Remplacez un fichier qui n'est pas à sa place par la bonne version (tableau ci-dessous), ou retirez-le.
- Plutôt que de supprimer, renommez le fichier en ajoutant
.oldà la fin de son nom : vous pourrez revenir en arrière. Si vous avez remplacé un fichier d'origine de Windows, la réparation de l'étape 4 le remet en place.
| Dossier | DLL attendues |
|---|---|
C:\Windows\System32 (Windows 64 bits) | 64 bits uniquement |
C:\Windows\SysWOW64 (Windows 64 bits) | 32 bits uniquement |
Dossier d'un programme 32 bits (souvent sous C:\Program Files (x86)) | 32 bits |
Dossier d'un programme 64 bits (souvent sous C:\Program Files) | 64 bits |
Oui, sur un Windows 64 bits, « System32 » contient les fichiers 64 bits et « SysWOW64 » les fichiers 32 bits : c'est contre-intuitif, et c'est justement la source de beaucoup d'erreurs 0xc000007b.
Étape 2 : réinstaller Visual C++ et DirectX en 32 et 64 bits
- Installez ou réparez le paquet Visual C++ 2015-2022 dans ses deux versions : 32 bits (x86) et 64 bits (x64). Les jeux plus anciens utilisent aussi les paquets 2005 à 2013, disponibles sur la page officielle des paquets Visual C++ : installez-les également en x86 et en x64.
- Paquet déjà installé ? Paramètres › Applications › le paquet Visual C++ concerné › Modifier › Réparer.
- Installez les anciennes bibliothèques DirectX avec le programme officiel DirectX End-User Runtime de Microsoft.
- Redémarrez l'ordinateur, puis relancez le programme.
Les jeux Steam fournissent souvent ces paquets dans leur dossier _CommonRedist (sous-dossiers vcredist et DirectX) : ce sont exactement les versions prévues par le jeu. Plus de détails dans les guides Erreurs Visual C++ et Erreurs DirectX.
Étape 3 : réparer ou réinstaller le programme
- Jeu Steam : clic droit sur le jeu › Propriétés › Fichiers installés › Vérifier l'intégrité des fichiers du jeu. Les autres plateformes (Epic, EA, Ubisoft, GOG…) proposent une fonction « Vérifier » ou « Réparer ».
- Autre logiciel : désinstallez-le, redémarrez, puis réinstallez-le depuis son programme d'installation officiel.
- Mod ou patch récent : retirez-le, il a pu remplacer une DLL par une version d'une autre architecture.
Étape 4 : réparer Windows
Si l'erreur touche plusieurs programmes, un fichier système a pu être remplacé ou endommagé :
- Ouvrez une invite de commandes en administrateur, tapez
DISM /Online /Cleanup-Image /RestoreHealth, attendez la fin, puis tapezsfc /scannow. - Installez toutes les mises à jour de Windows Update et le dernier pilote de votre carte graphique.
- Redémarrez l'ordinateur.
Tous les détails dans le guide DLL système Windows manquante.
Pour aller plus loin : trouver la DLL en cause
Architecture du programme : un programme installé sous C:\Program Files (x86) est en 32 bits, un programme installé sous C:\Program Files généralement en 64 bits. Pour un programme qui démarre, le Gestionnaire des tâches l'indique aussi : onglet Détails, clic droit sur les titres de colonnes › Sélectionner des colonnes › Plateforme.
DLL utilisées : l'outil gratuit et open source Dependencies affiche toutes les DLL dont un programme a besoin, avec leur emplacement et leur architecture. Ouvrez le fichier .exe du programme et cherchez une DLL dont l'architecture diffère de celle du programme : c'est elle qu'il faut remplacer.
Fichiers DLL concernés
Chaque fiche propose le téléchargement du fichier seul et la méthode complète adaptée.
Questions fréquentes
Faut-il réinstaller Windows ?
Presque jamais : l'erreur vient en général d'une DLL précise. Les étapes 1 à 3 suffisent dans la grande majorité des cas, et la réparation de l'étape 4 couvre les autres.
J'ai un Windows 64 bits : pourquoi installer les paquets 32 bits ?
Parce que beaucoup de jeux et de logiciels sont encore en 32 bits : sur un Windows 64 bits, ils utilisent les DLL 32 bits du dossier SysWOW64, installées par les paquets x86. Les deux versions cohabitent sans problème.
Quelle version télécharger sur une fiche qui propose 32 et 64 bits ?
Celle du programme qui affiche l'erreur, et non celle de Windows. Si l'erreur 0xc000007b apparaît après avoir copié la version 64 bits, remplacez-la par la version 32 bits, et inversement.