Нет api-ms-win-crt-runtime-l1-1-0.dll в Windows 10 после распространяемых пакетов Visual C++ 2015

Мой установщик WIX определяет, требуется ли установка VCRedist 14 (распространяемые пакеты Microsoft Visual C++ 2015) с использованием файла api-ms-win-crt-runtime-l1-1-0.dll, потому что без него мое приложение C++, созданное с VStudio 2015 не будет работать в Windows 7 / 8 / 8.1 с этой известной ошибкой:

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

Тем не менее, мое приложение работает нормально на Windows 10 без VCRedist 14, хотя api-ms-win-crt-runtime-l1-1-0.dll не существует. Я не знаю, как и почему: даже Dependency Walker (depen.exe) выдает ошибку "Не удается найти api-ms-win-crt-runtime-l1-1-0.dll"

В Windows 10, даже если я установил VCRedist 14, api-ms-win-crt-runtime-l1-1-0.dll никогда не копировался в каталог System32. Кто-нибудь знает почему?

Также кто-нибудь может объяснить, как для любого приложения C++, созданного с VS2015, не требуется VCRedist 14 на Windows 10?

1 ответ

Согласно этой статье https://support.microsoft.com/en-us/kb/2999226 api-ms-win-crt-runtime-l1-1-0.dll является частью операционной системы Windows 10, поэтому только 7 и 8 семей должны применить обновление с этой DLL.

Эта dll является тонкой оболочкой обратной совместимости CRT для приложений, скомпилированных для нового API Windows (10+) при работе на более старой системе Windows. Так что на W10 ваше приложение не нуждается в этой DLL.

Другие вопросы по тегам