Impossibile avviare il programma perché api-ms-win-crt-runtime-l1-1-0.dll manca dal computer


9

All'avvio di determinati programmi su Windows 7 viene visualizzato il seguente messaggio di errore:

Impossibile avviare il programma perché api-ms-win-crt-runtime-l1-1-0.dll manca dal computer

inserisci qui la descrizione dell'immagine

Facendo clic su "OK" si chiude la finestra di dialogo e si consente al software di funzionare senza problemi, ma l'errore si ripete alla successiva esecuzione del software.

Purtroppo reinstallare il software non risolve il problema.

Questo sta diventando molto fastidioso. Come lo risolvo?

Risposte:


12

Cosa causa questo errore e come lo risolvo?

Succede quando le applicazioni create utilizzando l'SDK di Windows 10 vengono eseguite su una versione precedente di Windows.

Ciò crea una dipendenza da Universal 10 CRT (C Runtime) di Windows 10 .

Per risolverlo, installa l' aggiornamento per Universal C Runtime in Windows :

Windows 10 Universal CRT è un componente del sistema operativo Windows che abilita la funzionalità CRT sul sistema operativo Windows. Questo aggiornamento consente l'esecuzione di applicazioni desktop Windows che dipendono dalla versione Universal 10 CRT di Windows sui precedenti sistemi operativi Windows.

Microsoft Visual Studio 2015 crea una dipendenza da Universal CRT quando le applicazioni vengono create utilizzando Windows 10 Software Development Kit (SDK). È possibile installare questo aggiornamento su precedenti sistemi operativi Windows per consentire a queste applicazioni di funzionare correttamente.


Ulteriori letture


Se un semplice Hello World viene compilato con VS2017, l'eseguibile dipende, api-ms-win-crt-runtime-l1-1-0.dllma se compilato con mingw, dipende da msvcrt.dll. Perché?
Biswapriyo,

@Biswa Nessuna idea. Non ho mai usato Visual Studio ... comunque immagino che VS usi l'SDK di Windows 10 e mingw no.
DavidPostill

3
@Biswa: MinGW è stupido. La DLL da cui dipende è effettivamente il runtime di Visual C 4.2 (sì, ormai ha più di 10 versioni precedenti) di Windows 95 . Non è una biblioteca su cui nessuno dovrebbe mai dipendere.
Joey,

2
@ edc65 È possibile che la libreria sia compilata nell'eseguibile ma non effettivamente utilizzata. È anche possibile che tu non stia utilizzando una funzione nel software che richiede questa libreria.
RobertSF,

1
@Joey: penso che intendi il runtime di Visual C ++ 4.2 C. C'era un compilatore Microsoft C 4.x, ma non portava il moniker "Visual" e non aveva mai una versione a 32 bit. E che MSVCRT.DLL è stato aggiornato molte volte nel frattempo con correzioni di errori e aggiornamenti, ad esempio le regole dell'ora legale, ma come suggerisci, è ancora compatibile ABI con Visual C ++ 4.2
Ben Voigt
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.