Program tidak dapat memulai karena api-ms-win-crt-runtime-l1-1-0.dll hilang dari komputer Anda

9

Saat memulai program tertentu pada Windows 7 saya mendapatkan pesan kesalahan berikut:

Program tidak dapat memulai karena api-ms-win-crt-runtime-l1-1-0.dll hilang dari komputer Anda

masukkan deskripsi gambar di sini

Mengklik "OK" menolak dialog dan memungkinkan perangkat lunak untuk berjalan tanpa masalah, tetapi kesalahan berulang kali saya menjalankan perangkat lunak.

Sayangnya menginstal ulang perangkat lunak tidak memperbaiki masalah.

Ini semakin menyebalkan. Bagaimana saya mengatasi ini?

DavidPostill
sumber

Jawaban:

12

Apa yang menyebabkan kesalahan ini dan bagaimana cara memperbaikinya?

Itu terjadi ketika aplikasi yang dibangun menggunakan Windows 10 SDK dieksekusi pada versi Windows yang lebih lama.

Ini menciptakan ketergantungan pada Windows 10 Universal CRT (C Runtime) .

Untuk memperbaikinya, instal Pembaruan untuk Universal C Runtime di Windows :

Windows 10 Universal CRT adalah komponen sistem operasi Windows yang memungkinkan fungsionalitas CRT pada sistem operasi Windows. Pembaruan ini memungkinkan aplikasi desktop Windows yang bergantung pada rilis Universal CRT Windows 10 untuk berjalan pada sistem operasi Windows sebelumnya.

Microsoft Visual Studio 2015 menciptakan ketergantungan pada Universal CRT ketika aplikasi dibangun dengan menggunakan Windows 10 Software Development Kit (SDK). Anda dapat menginstal pembaruan ini pada sistem operasi Windows sebelumnya untuk memungkinkan aplikasi ini berjalan dengan benar.


Bacaan lebih lanjut

DavidPostill
sumber
Jika Hello World yang sederhana dikompilasi dengan VS2017, executable tergantung pada api-ms-win-crt-runtime-l1-1-0.dlltetapi jika dikompilasi dengan mingw, itu tergantung pada msvcrt.dll. Mengapa?
Biswapriyo
@Biswa Tidak tahu. Saya tidak pernah menggunakan Visual Studio ... namun saya kira VS menggunakan Windows 10 SDK dan mingw tidak.
DavidPostill
3
@ Biswa: Itu adalah MinGW yang bodoh. DLL tergantung pada secara efektif runtime Visual C 4.2 (ya, sudah lebih dari 10 versi sekarang) dari sebelum Windows 95 hari . Ini bukan perpustakaan yang harus diandalkan siapa pun.
Joey
2
@ edc65 Ada kemungkinan perpustakaan dikompilasi ke dalam executable tetapi tidak benar-benar digunakan. Mungkin juga Anda tidak menggunakan fitur di perangkat lunak yang memerlukan pustaka ini.
RobertSF
1
@ Joey: Saya pikir maksud Anda runtime Visual C ++ 4.2 C. Ada kompiler Microsoft C 4.x, tetapi tidak membawa moniker "Visual" dan tidak pernah memiliki versi 32-bit. Dan MSVCRT.DLL itu telah diperbarui berkali- kali sementara itu dengan perbaikan bug dan pembaruan misalnya aturan Daylight Savings Time, tetapi seperti yang Anda sarankan, itu masih kompatibel dengan ABI dengan Visual C ++ 4.2
Ben Voigt