Das Programm kann nicht gestartet werden, da api-ms-win-crt-runtime-l1-1-0.dll auf Ihrem Computer fehlt

9

Beim Starten bestimmter Programme unter Windows 7 wird folgende Fehlermeldung angezeigt:

Das Programm kann nicht gestartet werden, da api-ms-win-crt-runtime-l1-1-0.dll auf Ihrem Computer fehlt

Geben Sie hier die Bildbeschreibung ein

Durch Klicken auf "OK" wird der Dialog geschlossen und die Software kann problemlos ausgeführt werden. Der Fehler wird jedoch beim nächsten Ausführen der Software wiederholt.

Eine Neuinstallation der Software behebt das Problem leider nicht.

Das wird sehr nervig. Wie löse ich das?

DavidPostill
quelle

Antworten:

12

Was verursacht diesen Fehler und wie behebe ich ihn?

Dies geschieht, wenn mit dem Windows 10 SDK erstellte Anwendungen unter einer früheren Windows-Version ausgeführt werden.

Dadurch wird eine Abhängigkeit von Windows 10 Universal CRT (C Runtime) erstellt .

Installieren Sie das Update für Universal C Runtime unter Windows , um das Problem zu beheben :

Die Windows 10 Universal CRT ist eine Windows-Betriebssystemkomponente, die die CRT-Funktionalität unter dem Windows-Betriebssystem aktiviert. Mit diesem Update können Windows-Desktopanwendungen, die von der Windows 10 Universal CRT-Version abhängen, unter früheren Windows-Betriebssystemen ausgeführt werden.

Microsoft Visual Studio 2015 erstellt eine Abhängigkeit von der universellen CRT, wenn Anwendungen mithilfe des Windows 10 Software Development Kit (SDK) erstellt werden. Sie können dieses Update auf früheren Windows-Betriebssystemen installieren, damit diese Anwendungen ordnungsgemäß ausgeführt werden können.


Weiterführende Literatur

DavidPostill
quelle
Wenn eine einfache Hello World mit VS2017 kompiliert wird, hängt die ausführbare Datei davon ab, api-ms-win-crt-runtime-l1-1-0.dllaber wenn sie mit mingw kompiliert wird, hängt sie davon ab msvcrt.dll. Warum?
Biswapriyo
@ Biswa Keine Ahnung. Ich habe Visual Studio noch nie verwendet ... ich würde jedoch vermuten, dass VS das Windows 10 SDK verwendet und mingw nicht.
DavidPostill
3
@Biswa: Das ist MinGW dumm zu sein. Die DLL, von der es abhängt, ist effektiv die Visual C 4.2- Laufzeit (ja, sie ist mittlerweile über 10 Versionen alt) vor den 95 Tagen von Windows . Es ist keine Bibliothek, auf die sich jemand verlassen sollte.
Joey
2
@ edc65 Es ist möglich, dass die Bibliothek in die ausführbare Datei kompiliert, aber nicht tatsächlich verwendet wird. Es ist auch möglich, dass Sie keine Funktion in der Software verwenden, für die diese Bibliothek erforderlich ist.
RobertSF
1
@Joey: Ich denke du meinst die Visual C ++ 4.2 C Laufzeit. Es gab einen Microsoft C 4.x-Compiler, der jedoch nicht den Spitznamen "Visual" trug und nie eine 32-Bit-Version hatte. Und dass MSVCRT.DLL in der Zwischenzeit viele Male mit Fehlerkorrekturen und Aktualisierungen von z. B. Sommerzeitregeln aktualisiert wurde, aber wie Sie vorschlagen, ist es immer noch ABI-kompatibel mit Visual C ++ 4.2
Ben Voigt