2
votes

my WIX installer detects if installing VCRedist 14 (aka Microsoft Visual C++ 2015 redistributable packages) is required using the presence of api-ms-win-crt-runtime-l1-1-0.dll, because without it, my C++ app built with VStudio 2015 wouldn't run on Windows 7 / 8 / 8.1 with this famous error:

The program can't start because api-ms-win-crt-runtime-l1-1-0.dll is missing from your computer. Try reinstalling the program to fix this problem.

However, my app runs fine on Windows 10 without VCRedist 14, although api-ms-win-crt-runtime-l1-1-0.dll doesn't exist. I don't know how & why: even Dependency Walker (depends.exe) displayed the error "Cannot find api-ms-win-crt-runtime-l1-1-0.dll"

On Windows 10, even if I installed VCRedist 14, api-ms-win-crt-runtime-l1-1-0.dll was never copied to System32 directory. Anyone know why?

Also can anyone explain how any C++ app built with VS2015 doesn't require VCRedist 14 on Windows 10?

1
I also don't have it, it seems that the DLL is only required on older Windows versions. Dependency walker is outdated and doesn't know about this dll.magicandre1981

1 Answers

2
votes

According to this article https://support.microsoft.com/en-us/kb/2999226 the api-ms-win-crt-runtime-l1-1-0.dll is a part of Windows 10 operating system, so only 7 and 8 families need to apply the update with this dll.

This dll is a thin CRT backwards compatibility shim for applications compiled for new Windows (10+) API when running on older Windows system. So on W10 your application doesn't need this dll.