Accéder au contenu principal
Fichier DLL

Pourquoi l'erreur 0xc000007b bloque vos jeux et applications

Pourquoi l'erreur 0xc000007b bloque vos jeux et applications

L'erreur 0xc000007b est un code d'erreur Windows qui empêche une application ou un jeu de démarrer : le système a trouvé un composant 32 bits dans un logiciel 64 bits, ou l'inverse. La solution consiste presque toujours à réinstaller Microsoft Visual C++ et les paquets du jeu, puis à relancer l'ordinateur.

Ce qu'il faut retenir du code 0xc000007b

  • Ce code correspond au statut STATUS_INVALID_IMAGE_FORMAT : le jeu ou l'application ne peut pas démarrer, car un module ne correspond pas au type du processus qui le charge.
  • Les origines les plus courantes sont un redistribuable Visual C++ incomplet, un DirectX partiel ou un élément copié à la main au mauvais endroit.
  • La solution consiste à désinstaller puis réinstaller les paquets officiels, jamais à installer un élément récupéré au hasard.

Que signifie « l'application n'a pas réussi à démarrer correctement » ?

Le message complet affiché par Windows est : « L'application n'a pas réussi à démarrer correctement (0xc000007b). Cliquez sur OK pour fermer l'application. » Il ne dit rien de la pièce en cause, ce qui explique pourquoi tant d'utilisateurs cherchent une solution au hasard. Certains le recopient même avec un zéro de moins, erreur 0xc00007b, et tombent sur des pages sans rapport.

Techniquement, ce code d'erreur est un statut NTSTATUS renvoyé par le chargeur de Windows. Avant d'exécuter un programme, le système lit l'en-tête de chaque exécutable et de chaque module lié : cet en-tête indique la machine cible, x86 pour les programmes 32 bits, x64 pour les programmes 64 bits. Si une seule bibliothèque ne correspond pas au processus, le chargement s'arrête avant même que la fenêtre du jeu ne s'ouvre. Le problème n'est donc presque jamais le jeu lui-même, mais l'un des composants dont il dépend.

D'où vient le conflit entre 32 et 64 bits ?

Une version 64 bits de Windows sait exécuter les deux familles de programmes, grâce à une couche de compatibilité appelée WOW64. Mais la règle reste stricte à l'intérieur d'un processus : un programme 64 bits ne charge que des modules 64 bits, un programme 32 bits que des modules 32 bits. Beaucoup de jeux anciens, de lanceurs et d'outils d'édition restent compilés en x86, même sur un PC récent.

Le piège des dossiers System32 et SysWOW64

Les noms des dossiers système trompent presque tout le monde, car ils disent l'inverse de ce qu'ils contiennent.

DossierArchitecture des bibliothèquesUtilisé par
C:\Windows\System32x64 sur un Windows 64 bitsles applications natives x64
C:\Windows\SysWOW64x86les programmes x86 exécutés via WOW64
Dossier du jeucelle de l'exécutable du jeuchargé en priorité par le jeu

Copier un fichier x86 dans System32 « pour qu'il soit trouvé » suffit à provoquer le conflit : le programme x64 qui cherche ce nom trouve la mauvaise version et refuse de démarrer.

Quelles sont les causes de l'erreur 0xc000007b ?

Dans la grande majorité des cas, la cause se range dans l'une de ces familles :

  • Microsoft Visual C++ Redistributable incomplet : seule la version x64 est installée alors que le jeu est x86. Un Windows 64 bits a pourtant besoin des deux paquets.
  • DirectX partiel : Windows 10 et 11 intègrent DirectX 12, mais pas les anciennes bibliothèques D3DX9 ou XInput 1.3 que réclament de nombreux jeux, comme le montre le cas de l'erreur sur xinput1_3 et les manettes.
  • Microsoft .NET Framework absent : certains lanceurs demandent la version 3.5, désactivée par défaut.
  • Un fichier récupéré sur un site tiers et déposé dans un dossier système, sans vérifier son architecture. C'est la raison pour laquelle il vaut mieux éviter de télécharger une bibliothèque isolée.
  • Des fichiers système endommagés, après une mise à jour Windows interrompue ou des secteurs défectueux sur le disque dur.
  • Un mod ou un correctif non officiel qui remplace un module du jeu par une version d'une autre architecture.

Comment corriger l'erreur 0xc000007b sous Windows 10 et 11 ?

Les méthodes suivantes sont classées de la plus rapide à la plus lourde. Relancez le jeu après chaque étape : inutile de passer à la suivante si le problème a disparu.

Redémarrer et exécuter en tant qu'administrateur

Un redémarrage libère les modules restés en mémoire après une installation. Faites ensuite un clic droit sur l'exécutable du jeu, puis choisissez « Exécuter en tant qu'administrateur ». Si l'erreur persiste, un bouton droit sur le raccourci donne accès à Propriétés, onglet Compatibilité, où l'on peut cocher cette exécution par défaut. Cette étape règle un souci de droits, rarement le conflit d'architecture lui-même.

Réinstaller les Microsoft Visual C++ Redistributable x86 et x64

C'est la solution qui fonctionne le plus souvent. Ouvrez le panneau de configuration, puis Programmes et fonctionnalités, et repérez les entrées Microsoft Visual C++. Désinstallez le paquet 2015-2022 dans ses deux variantes, redémarrez, puis téléchargez depuis le site web officiel de Microsoft les deux installeurs, vc_redist.x86.exe et vc_redist.x64.exe. Installez-les tous les deux, dans cet ordre.

Pour un jeu sorti avant 2015, ajoutez les versions 2010, 2012 ou 2013 qu'il réclame. Si une désinstallation échoue parce que l'installeur d'origine a disparu du dossier C:\ProgramData\Package Cache, lancez le nouvel installeur et choisissez l'option Réparer : il reconstruit l'entrée manquante.

Installer DirectX et le .NET Framework

Le programme d'installation Web « DirectX End-User Runtime », disponible sur le site officiel de Microsoft, ajoute les anciennes bibliothèques graphiques et audio sans toucher à DirectX 12. Sur Steam, les jeux fournissent souvent leurs propres paquets dans un dossier _CommonRedist : les lancer depuis l'installation du jeu garantit la version correcte. Pour le .NET Framework 3.5, tapez « Activer ou désactiver des fonctionnalités Windows » dans la recherche et cochez la case correspondante ; Windows Update télécharge alors les fichiers nécessaires.

Vérifier les fichiers système avec sfc /scannow

Ouvrez l'invite de commande en tant qu'administrateur et tapez sfc /scannow. L'outil compare les fichiers système protégés à leur copie de référence et remplace ceux qui sont altérés, sans toucher à vos données. Si la réparation échoue, la commande DISM /Online /Cleanup-Image /RestoreHealth reconstruit d'abord le magasin de composants, puis on relance sfc. Enfin, chkdsk C: /f contrôle le disque dur au prochain démarrage. Terminez par une mise à jour complète via Windows Update.

Réparer ou réinstaller le jeu

Dans Steam, la commande Vérifier l'intégrité des fichiers du jeu, dans les propriétés, remplace les modules modifiés. Le lanceur Epic Games propose l'équivalent avec l'action Vérifier du menu Gérer, et les titres du Game Pass se réparent depuis les paramètres de l'application. Si rien ne change, désinstaller puis réinstaller le jeu dans un dossier neuf élimine tout élément ajouté par un mod.

Si l'erreur se produit encore : démarrage minimal et support

Un logiciel lancé en arrière-plan, comme un antivirus, un outil d'enregistrement ou une surcouche de discussion, peut injecter son propre module dans le jeu. Pour le vérifier, essayez un démarrage minimal : tapez msconfig, ouvrez l'onglet Services, cochez « Masquer tous les services Microsoft », désactivez les autres, puis redémarrez l'ordinateur. Si le jeu a démarré correctement, réactivez les services par petits groupes pour trouver le coupable, puis pensez à supprimer ou mettre à jour le logiciel concerné.

Il peut aussi être utile de vider le cache du lanceur dans ses paramètres, ou de supprimer les réglages enregistrés du jeu dans Documents, après avoir sauvegardé vos données de jeu. Si rien n'a démarré, essayez de contacter le support de l'éditeur : joignez le message exact, la version de Windows et le lien vers la page du jeu dans le lanceur. Le support technique demande presque toujours ces données avant toute aide.

Identifier le composant fautif avant de tout réinstaller

Quand les méthodes générales ne suffisent pas, mieux vaut trouver la pièce en cause. L'outil libre Dependencies, successeur de Dependency Walker, ouvre un exécutable et affiche l'arbre de ses dépendances avec le type de chacune : un module x86 au milieu d'une chaîne x64 saute aux yeux. Process Monitor, publié par Microsoft dans la suite Sysinternals, montre de son côté chaque élément que le processus tente d'ouvrir au moment de l'échec, avec son chemin exact.

Ce diagnostic prend quelques minutes et évite de réinstaller Windows pour un seul fichier mal placé. Une fois le module identifié, supprimez la copie étrangère et réinstallez le paquet officiel qui le fournit, plutôt que de remplacer un fichier par un autre.

Faut-il télécharger un fichier dll pour résoudre le problème ?

Non. Les sites qui promettent de corriger un « dll is missing error » en un clic fournissent un fichier seul, sans garantie de version ni d'architecture, et parfois modifié. Or l'erreur 0xc000007b naît justement d'un fichier présent mais incompatible : en ajouter un autre au hasard aggrave souvent le conflit. Nos guides pratiques sur les fichiers dll expliquent comment retrouver le paquet d'origine de chaque bibliothèque.

Vos questions sur le code 0xc000007b

La carte graphique peut-elle provoquer ce code d'erreur ?
Rarement. Un pilote graphique corrompu peut toutefois fournir une bibliothèque défaillante : réinstaller le pilote depuis le site de NVIDIA, AMD ou Intel fait partie des étapes à tenter après Visual C++.
Une mise à jour Windows peut-elle déclencher l'erreur ?
Oui, si elle a été interrompue et a laissé des fichiers système incomplets. La commande sfc /scannow suivie de DISM répare ce cas.
Faut-il réinstaller Windows ?
Seulement en dernier recours, quand ni les redistribuables, ni sfc, ni la réinstallation du jeu ne règlent le problème. La fonction Réinitialiser ce PC permet de conserver ses données personnelles.

Nos autres articles

Vous aimerez aussi