Програма не може запуститися, оскільки у вашому комп’ютері відсутній api-ms-win-crt-runtime-l1-1-0.dll


9

При запуску певних програм у Windows 7 я отримую таке повідомлення про помилку:

Програма не може запуститися, оскільки у вашому комп’ютері відсутній api-ms-win-crt-runtime-l1-1-0.dll

введіть тут опис зображення

Клацання "ОК" відхиляє діалогове вікно і дозволяє програмі працювати без проблем, але помилка повторюється наступного разу, коли я запускаю програмне забезпечення.

На жаль, перевстановлення програмного забезпечення не виправить проблему.

Це стає дуже дратує. Як вирішити це?

Відповіді:


12

Що викликає цю помилку і як її виправити?

Це трапляється, коли програми, побудовані за допомогою Windows 10 SDK, виконуються на більш ранній версії Windows.

Це створює залежність від Windows 10 Universal CRT (C Runtime) .

Щоб виправити це, встановіть Оновлення для Universal C Runtime у Windows :

Універсальний CRT Windows 10 - це компонент операційної системи Windows, який дозволяє функціонувати CRT в операційній системі Windows. Це оновлення дозволяє програмам для настільних ПК Windows, які залежать від Windows 10 Universal CRT, запускатись на більш ранніх операційних системах Windows.

Microsoft Visual Studio 2015 створює залежність від Universal CRT, коли додатки створюються за допомогою комплекту розробки програмного забезпечення Windows 10 (SDK). Ви можете встановити це оновлення на більш ранніх операційних системах Windows, щоб вони могли правильно працювати.


Подальше читання


Якщо простий світ Hello скомпільований з VS2017, виконуваний файл залежить від, api-ms-win-crt-runtime-l1-1-0.dllале якщо компільований з mingw, це залежить від msvcrt.dll. Чому?
Бісвапріо

@Biswa Не маю ідеї. Я ніколи не використовував Visual Studio ... однак я б здогадався, що VS використовує Windows 10 SDK, а mingw - ні.
DavidPostill

3
@Biswa: Це MinGW дурне. DLL, від якої залежить, ефективно виконує Visual C 4.2 (так, на сьогодні це вже більше 10 версій) від Windows 95 днів . Це не бібліотека, від якої ніхто ніколи не повинен залежати.
Joey

2
@ edc65 Можливо, бібліотека збирається у виконуваний файл, але насправді не використовується. Можливо також, що ви просто не використовуєте функцію в програмному забезпеченні, яке потребує цієї бібліотеки.
RobertSF

1
@Joey: Я думаю, ви маєте на увазі виконання Visual C ++ 4.2 C. Був компілятор Microsoft C 4.x, але він не мав меномера "Visual" і ніколи не мав 32-бітної версії. І що MSVCRT.DLL був оновлений багато разів в той же час з виправленням помилок і поновлення правил , наприклад , літній час, але , як ви пропонуєте, він по - , як і раніше ABI сумісний з Visual C ++ 4.2
Бен Фойгт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.