Search code examples
c++dllwindows-7interopdependencies

dll missing dependencies on Windows 7 files


I have built a C++ dll to use from dot net. When I run the progran I get an error, dll not found.

The dll is there - but I checked it with dependency walker - and got for the following:

API-MS-WIN-CORE-COM-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL
API-MS-WIN-SHCORE-SCALING-L1-1-0.DLL
DCOMP.DLL

Error opening file. The system cannot find the file specified.

I did a search - apparently these are Win 7 files an d I have Windows 7 - but didn't find them.

What can I do ?

I am using VS2010, Windows 7


Solution

  • Dependency Walker (from here : http://www.dependencywalker.com/ ) has grown out of date. While it runs on win7/win8 it fails to detect normal DLLs from them. If you open up the 'about' tab of the latest version 2.2.6000, you'll see it was build on Oct 29th, 2006. yikes. Surprised it works at all.

    You can get the process monitor tool at several locations. I snagged mine from here : https://technet.microsoft.com/en-us/sysinternals/bb896645

    Once you've got it, you can add a filter for 'program name is ' whatever and then run your program. You'll see stuff that loads and fails to load and such. The result isn't quite as concise as you'd like, but when something fails, it'll be listed.