Accueil » Blog » Informatique » Windows » api-ms-win-crt-runtime-l1-1-0.dll manquant : les solutions

api-ms-win-crt-runtime-l1-1-0.dll manquant : les solutions

Le message « Impossible d’exécuter le code, car api-ms-win-crt-runtime-l1-1-0.dll est introuvable » ne signale pas un fichier effacé mais un composant système absent : le CRT universel de Windows. Il se remet en place avec le redistribuable Visual C++ à jour, ou avec les mises à jour Windows sur un système ancien.

Points clés

  • api-ms-win-crt-runtime-l1-1-0.dll appartient au CRT universel (Universal C Runtime, ou UCRT), un composant du système d’exploitation Windows.
  • Microsoft précise que l’UCRT est inclus dans le système à partir de Windows 10 et de Windows Server 2016. Sur les systèmes plus anciens encore en support étendu, il arrive par Windows Update.
  • Sa version initiale a été publiée sous la référence KB2999226, puis corrigée par KB3118401.
  • Sur un Windows 10 ou 11 à jour, l’erreur vient presque toujours d’un Visual C++ Redistributable absent, trop ancien ou abîmé, à réinstaller depuis les liens permanents de Microsoft.
  • Le fichier ne se répare pas à l’unité : il fait partie d’un jeu de plusieurs dizaines de DLL api-ms-win-crt-* qui doivent être cohérentes entre elles.

Ce que désigne réellement ce nom de fichier

Le cadre général de ce type de panne est décrit dans notre guide des problèmes de DLL manquantes au démarrage.

Le préfixe api-ms-win- n’est pas un nom de produit mais une convention interne de Windows. Ces fichiers sont des bibliothèques de redirection, appelées API sets : elles ne contiennent presque pas de code, elles pointent vers l’implémentation réelle du système. Le suffixe l1-1-0 indique le niveau et la version du contrat d’interface.

Le bloc crt correspond à la bibliothèque Runtime C de Microsoft. Jusqu’à Visual Studio 2013, chaque version majeure du compilateur livrait sa propre bibliothèque autonome, incompatible avec les autres : msvcr110.dll pour Visual Studio 2012, msvcr120.dll pour Visual Studio 2013. Depuis Visual Studio 2015, Microsoft a unifié tout cela dans un CRT universel intégré au système d’exploitation. Les erreurs voisines sur msvcp140.dll relèvent de la même famille de paquets.

Conséquence directe : un logiciel compilé avec un outillage récent suppose que le CRT universel est présent sur la machine. Quand ce n’est pas le cas, le chargeur de Windows échoue au démarrage du programme et affiche le nom du premier contrat d’interface introuvable, ici api-ms-win-crt-runtime-l1-1-0.dll.

Schéma de la chaîne de dépendance entre l'application, le contrat d'interface api-ms-win-crt-runtime et le CRT universel de Windows
Le fichier réclamé n’est qu’un contrat d’interface : l’implémentation vit dans le CRT universel du système.

Les quatre causes réelles de l’erreur

L’ordre correspond à la fréquence observée sur les postes de travail actuels.

  1. Redistribuable Visual C++ absent ou trop ancien. L’application attend une version du runtime au moins aussi récente que les outils qui ont servi à la compiler. Un poste où seul le paquet de 2013 est installé déclenchera l’erreur avec un logiciel de 2025.
  2. Windows en retard de mises à jour. Sur Windows 8.1, Windows 7 et les versions serveur correspondantes, le CRT universel est une mise à jour distincte. Sans elle, aucune application moderne ne démarre.
  3. Installation du redistribuable abîmée. Une coupure pendant l’installation, un disque avec des secteurs défaillants ou un nettoyeur trop zélé laissent un jeu de fichiers incomplet. Le programme d’installation croit alors le paquet déjà présent et refuse de le reposer.
  4. Copie parasite dans le dossier de l’application. Certains éditeurs déposent leurs propres copies des DLL du runtime à côté de leur exécutable. Comme le répertoire du programme est consulté avant les dossiers système dans l’ordre de recherche des DLL documenté par Microsoft, une copie dépareillée fait échouer le chargement alors que le système, lui, est sain.
A lire  xinput1_3.dll est introuvable : les solutions

Solution 1 : réinstaller le Visual C++ Redistributable à jour

C’est la méthode qui règle la majorité des cas sur Windows 10 et Windows 11, y compris quand le paquet semble déjà installé.

  1. Déterminer l’architecture du logiciel qui plante. Un programme 32 bits exige le paquet x86, même sur un Windows 64 bits. Dans le doute, installer les deux : ils coexistent sans conflit.
  2. Télécharger le paquet depuis les liens permanents publiés par Microsoft Learn, vc_redist.x64.exe et vc_redist.x86.exe. Ces adresses pointent toujours vers la dernière version prise en charge.
  3. Exécuter le programme d’installation en tant qu’administrateur. Si l’assistant propose Réparer, choisir cette option d’abord.
  4. Si le bouton Réparer ne suffit pas, désinstaller le paquet depuis Applications installées, redémarrer, puis relancer l’installation propre.
  5. Redémarrer la machine et relancer le logiciel.

Microsoft note que le paquet x64 contient à la fois les binaires x64 et ARM64, ce qui simplifie le cas des PC sur processeur ARM. Le numéro de version n’est plus publié dans la documentation parce que le paquet est mis à jour fréquemment : pour le connaître, il faut lire les propriétés du fichier téléchargé, onglet Détails, champ Version du fichier.

Solution 2 : passer par Windows Update

Le mode de déploiement prévu par Microsoft pour le CRT universel reste Windows Update. La documentation est explicite : le composant fait partie des mises à jour recommandées de tous les systèmes Windows pris en charge, et la plupart des machines l’installent donc dans le cadre de leur cycle de mise à jour normal.

La marche à suivre :

  • Ouvrir Paramètres, Windows Update, puis Rechercher des mises à jour.
  • Dérouler les options avancées et vérifier que les mises à jour facultatives ne sont pas laissées en attente depuis des mois.
  • Sur un poste géré en entreprise, contrôler que la stratégie de mise à jour ne bloque pas les mises à jour recommandées.
  • Redémarrer pour finaliser l’installation des composants système.

Sur un poste isolé du réseau, Microsoft publie aussi les fichiers redistribuables du CRT universel pour une distribution hors connexion, téléchargeables depuis les articles KB2999226 et KB3118401. Ce redistribuable exige toutefois que la machine ait déjà reçu le dernier Service Pack de son système, condition régulièrement oubliée sur les vieux parcs.

Solution 3 : nettoyer les copies locales du runtime

Quand un seul logiciel est touché et que tous les autres fonctionnent, l’origine est locale. Explorez le dossier d’installation du programme et cherchez des fichiers api-ms-win-crt-*.dll, ucrtbase.dll ou vcruntime140.dll posés à côté de l’exécutable.

A lire  Écran noir Windows 11 après démarrage : les solutions

Deux situations à distinguer. Si l’éditeur a livré un déploiement local complet, tous les fichiers du jeu sont présents et cohérents : il ne faut rien toucher, la réparation passe par une réinstallation du logiciel. Si un seul fichier a été copié à la main, ou si les dates de modification sont incohérentes entre les fichiers, cette copie partielle est la cause du blocage. La retirer laisse Windows charger la version système.

Une réinstallation complète de l’application reste la voie la plus sûre : elle réexécute les prérequis que l’éditeur a prévus, étape sautée dès qu’un dossier est simplement copié d’un poste à un autre.

Les variantes du message d’erreur

Le libellé change selon le logiciel, mais les informations utiles sont toujours les mêmes : le nom du fichier introuvable et le programme qui n’a pas pu démarrer. Les messages les plus courants sur un ordinateur sous Windows :

  • « Impossible d’exécuter le code, car api-ms-win-crt-runtime-l1-1-0.dll est introuvable. La réinstallation du programme peut corriger ce problème. »
  • « Le programme ne peut pas démarrer car api-ms-win-crt-runtime-l1-1-0.dll est absent de votre ordinateur. »
  • Une erreur au moment d’installer une application, avant même sa première exécution, quand l’installeur est lui-même compilé avec le runtime concerné.

Ces trois variantes appellent la même procédure. La mention « réinstaller le programme » affichée par Windows est trompeuse : réinstaller l’application ne change rien si le composant système manque, alors qu’elle règle en revanche les erreurs dues à une copie locale dépareillée.

Procédure sur un parc d’entreprise

Sur un poste géré, télécharger un exécutable à la main n’est pas toujours possible et ne règle pas la cause. La procédure tient en quatre étapes.

  1. Recenser les ordinateurs concernés et la version du redistribuable Visual C++ présente sur chacun, pour savoir s’il s’agit d’un cas isolé ou d’un retard généralisé.
  2. Vérifier l’état des mises à jour Windows sur ces machines et débloquer les mises à jour recommandées si une stratégie les filtre.
  3. Déployer le paquet redistribuable v14 en x86 et x64 par l’outil de distribution logicielle habituel, en mode silencieux.
  4. Contrôler après redémarrage que l’application démarre, puis documenter la référence exacte du paquet déployé pour les prochaines installations.

La documentation de support de Microsoft renvoie explicitement au fournisseur de l’application lorsqu’une erreur de runtime persiste après cette procédure : c’est à l’éditeur de préciser la version du redistribuable attendue par son logiciel.

Schéma indiquant quelle solution appliquer selon la version de Windows installée sur la machine
Le bon geste dépend de la version de Windows installée.

Vérifier l’état du CRT universel sur la machine

Trois contrôles rapides permettent de savoir où on en est avant d’aller plus loin.

  • Présence des fichiers. Dans C:\Windows\System32, chercher ucrtbase.dll. Sur un Windows 10 ou 11 sain, il est là et signé par Microsoft. Les fichiers api-ms-win-crt-* ne sont pas toujours visibles au même endroit selon la version, ce n’est pas un signe d’anomalie en soi.
  • Paquets installés. Dans Applications installées, filtrer sur « Visual C++ ». Repérer la présence des paquets 2015 à 2022 en x86 et x64, et leur numéro de version.
  • Intégrité du système. Une analyse du magasin de composants remet en état les fichiers système altérés, y compris ceux du CRT universel puisqu’il en fait partie.
A lire  Erreur 0xc000000e : réparer le démarrage de Windows

Quand ça ne vient pas de là

Si le redistribuable est à jour, Windows à jour et le logiciel réinstallé, il reste quelques causes plus rares, dans un ordre qui va du geste anodin à l’intervention lourde.

  1. Antivirus. Vérifier la quarantaine. Un fichier de runtime supprimé par une détection erronée laisse exactement ce message d’erreur.
  2. Intégrité des fichiers système. Lancer sfc /scannow, puis DISM /RestoreHealth si l’analyse signale des fichiers irréparables.
  3. Disque. Contrôler l’état du volume système. Des secteurs défaillants sous System32 produisent des erreurs de chargement qui reviennent après chaque réparation.
  4. Variables d’environnement. Une variable PATH tronquée ou une entrée pointant vers un dossier disparu perturbe la résolution des dépendances de certaines applications.
  5. Retour arrière. Si la panne suit une manipulation datée, restaurer un point de restauration coûte moins cher qu’une réinstallation complète.

Le formatage n’a de sens que si plusieurs composants du système sont atteints simultanément, ce qui se manifeste en général par d’autres symptômes que ce seul message, écrans bleus compris : voir le guide des écrans bleus Windows 10 et 11.

Ce qu’il ne faut pas faire

Les sites qui proposent le téléchargement direct du fichier arrivent en tête des résultats de recherche. Le geste paraît logique et ne fonctionne pas.

  • Un API set isolé ne sert à rien sans l’implémentation qu’il redirige. Poser le fichier déplace simplement l’erreur sur le contrat suivant, api-ms-win-crt-heap-l1-1-0.dll ou api-ms-win-crt-math-l1-1-0.dll.
  • Le binaire téléchargé n’est pas signé par Microsoft et son contenu n’est pas vérifiable. Il est chargé dans le processus de l’application, avec les mêmes droits.
  • Copier un fichier depuis un autre poste mélange des versions du runtime et rend le diagnostic suivant beaucoup plus difficile.

Le redistribuable officiel et Windows Update posent l’ensemble complet et cohérent, gratuitement, autant de fois que nécessaire.

Questions fréquentes

Faut-il installer le paquet x86 ou x64 ?

Celui qui correspond à l’application, pas au système. Un logiciel 32 bits sur un Windows 64 bits réclame le paquet x86. Installer les deux est la solution la plus simple et sans effet secondaire.

KB2999226 est-elle encore nécessaire sur Windows 11 ?

Non. Le CRT universel est intégré au système depuis Windows 10, donc cette mise à jour ne concerne que les systèmes antérieurs encore en support étendu.

Pourquoi l’erreur apparaît alors que Visual C++ 2015 est déjà installé ?

Parce que le paquet installé est plus ancien que les outils utilisés pour compiler l’application. Microsoft recommande d’installer la dernière version disponible du redistribuable v14, qui couvre Visual Studio 2017, 2019, 2022 et 2026.

Puis-je extraire le fichier depuis l’installeur au lieu de tout installer ?

Techniquement oui, pratiquement non. Le déploiement local du CRT universel est pris en charge mais avec des restrictions précises, et il suppose de copier l’ensemble des fichiers concernés, pas un seul.

Le problème peut-il venir du logiciel lui-même ?

Oui, quand l’éditeur livre un paquet incomplet ou une copie locale dépareillée du runtime. Dans ce cas, la réinstallation du logiciel avec ses prérequis règle la panne sans toucher au système.

Photo d’en-tête : poste de travail sous Windows, par Shixart1985, licence CC BY 2.0, via Wikimedia Commons. La photo est illustrative : elle ne montre pas le message d’erreur décrit ici.
Sources : Microsoft Learn, Déploiement du CRT universel · Microsoft Support, Mise à jour pour Universal C Runtime dans Windows (KB2999226) · Microsoft Learn, derniers téléchargements de Visual C++ Redistributable pris en charge · Microsoft Learn, redistribuer des fichiers Visual C++ · Microsoft Learn, ordre de recherche des DLL. Faits vérifiés le 2 septembre 2026.

Laisser un commentaire

Pin It on Pinterest