I created a C++ library, which runs fine on my machine.
When I deploy it to another PC, the library fails to load.
I checked with dependency walker and discovered some missing dependencies of the form API-MS-WIN-CRT-*-L1-1-0.DLL
.
I found out that these files are part of the Universal C Runtime. On my machine, these dependencies were resolved using copies of these DLLs found in my local installation of the Windows Performance Toolkit, or my Visual Studio Installation. Both of these are development tools, that can not be expected be be installed on target machines.
While researching, I have read that the Universal C Runtime is a component of the Windows 10 operating system. So I would expect these necessary dll files to be present somewhere on the system by default, and also included in PATH.
I can find ucrtbase.dll
in the System32 folder, which says Microsoft C Runtime Library in its file description.
Do I need to manually include a search path for the API-MS-WIN-CRT-*-L1-1-0.DLL
files?
Do I have to enable the Universal C Runtime somewhere in the computer's settings?
Might something be wrong about how I compiled my library?