O programa não pode ser iniciado porque está faltando api-ms-win-crt-runtime-l1-1-0.dll do seu computador

9

Ao iniciar determinados programas no Windows 7, recebo a seguinte mensagem de erro:

O programa não pode ser iniciado porque está faltando api-ms-win-crt-runtime-l1-1-0.dll do seu computador

insira a descrição da imagem aqui

Clicar em "OK" ignora a caixa de diálogo e permite que o software seja executado sem problemas, mas o erro se repete na próxima vez que eu executar o software.

Infelizmente, a reinstalação do software não resolve o problema.

Isso está ficando muito chato. Como eu resolvo isso?

DavidPostill
fonte

Respostas:

12

O que causa esse erro e como corrigi-lo?

Isso acontece quando os aplicativos criados com o Windows 10 SDK são executados na versão anterior do Windows.

Isso cria uma dependência no Windows 10 Universal CRT (C Runtime) .

Para corrigi-lo, instale a atualização para o Universal C Runtime no Windows :

O Windows 10 Universal CRT é um componente do sistema operacional Windows que habilita a funcionalidade CRT no sistema operacional Windows. Esta atualização permite que os aplicativos da área de trabalho do Windows que dependem da versão do Windows 10 Universal CRT sejam executados em sistemas operacionais Windows anteriores.

O Microsoft Visual Studio 2015 cria uma dependência do Universal CRT quando os aplicativos são criados usando o Windows 10 Software Development Kit (SDK). Você pode instalar esta atualização em sistemas operacionais Windows anteriores para permitir que esses aplicativos sejam executados corretamente.


Leitura adicional

DavidPostill
fonte
Se um simples Hello World é compilado com o VS2017, o executável depende, api-ms-win-crt-runtime-l1-1-0.dllmas se compilado com mingw, depende msvcrt.dll. Por quê?
Biswapriyo
@Biswa Não faço ideia. Eu nunca usei o Visual Studio ... no entanto, acho que o VS usa o SDK do Windows 10 e o mingw não.
DavidPostill
3
@Biswa: Isso é MinGW sendo estúpido. A DLL da qual depende é efetivamente o tempo de execução do Visual C 4.2 (sim, já tem mais de 10 versões anteriores) antes dos dias do Windows 95 . Não é uma biblioteca da qual alguém possa confiar.
Joey
2
@ edc65 É possível que a biblioteca seja compilada no executável, mas não seja realmente usada. Também é possível que você simplesmente não esteja usando um recurso do software que requer esta biblioteca.
RobertSF
11
@ Joey: Eu acho que você quer dizer o tempo de execução do Visual C ++ 4.2 C. Havia um compilador Microsoft C 4.x, mas não carregava o apelido "Visual" e nunca teve uma versão de 32 bits. E que o MSVCRT.DLL foi atualizado várias vezes nesse meio tempo com correções de bugs e atualizações para, por exemplo, regras de horário de verão, mas como você sugere, ele ainda é compatível com ABI com o Visual C ++ 4.2
Ben Voigt