108

I have been trying to resolve .dll dependencies for the executable file with Dependency Walker. Currently, I am getting missing .dlls in the following form:

API-MS-WIN-XXX

EXT-MS-WIN-XXX

For example:

API-MS-WIN-APPMODEL-IDENTITY-L1-2-0.DLL
API-MS-WIN-APPMODEL-RUNTIME-INTERNAL-L1-1-0.DLL
API-MS-WIN-BASE-UTIL-L1-1-0.DLL
API-MS-WIN-CORE-APIQUERY-L1-1-0.DLL
EXT-MS-WIN-RTCORE-NTUSER-SYSCOLORS-L1-1-0.DLL

Does anybody have any ideas on how to resolve these? Any help will be greatly appreciated!

Additional info: I compiled the executable using Visual Studio 2013. The most interesting thing is that I did not receive any errors during compilation. However, I cannot run it due to missing dependencies. I also attached a screenshot of dependency walker:

dependency walker

Update 1: As an attempt to solve the problem I tried to add the path for the libraries that VS used during compilation to the $PATH environment variable without any luck (Dependency Walker still shows unresolved dependencies).

RAM
  • 2,257
  • 2
  • 19
  • 41
Ben N.
  • 1,217
  • 2
  • 9
  • 9

4 Answers4

124

These are API-sets - essentially, an extra level of call indirection introduced gradually since windows 7. Dependency walker development seemingly halted long before that, and it can't handle API sets properly.

So these are all false alarms and nothing to worry about. You're not missing anything.

Also see On API-MS-WIN-XXXXX.DLL, and Other Dependency Walker Glitches.


Edit: Only in Oct 2017 did someone finally try to fill this gap. Meet Dependencies by lucasg. I've only briefly fiddled with it until now, but it handles API sets well and is at least very worthy of attention.

Ofek Shilon
  • 14,734
  • 5
  • 67
  • 101
  • 3
    Excellent intel! :-). But wouldn't that be "false positives" instead of "false negatives"? Just nitpicking, this was today's best new info for me. Looking forward to testing ``Dependencies``. Thanks! – Stein Åsmul Dec 14 '17 at 10:59
  • 3
    Well i am trying to solve a problem when my library wont load (LoadLibrary). I can't seem to figure out why. And some of these mentioned files are not even on my system. Is this still a false positive? – Martin Kosicky Jan 18 '19 at 13:51
  • 1
    @MartinKosicky the mentioned files aren't even files. They're 'virtual markers' for the windows loader - and aren't supposed to exist on your disk. So this is definitely not your problem – Ofek Shilon Jan 21 '19 at 08:55
  • 1
    Indeed, Dependencies by lucasg removed the false "missing packages" and revealed that (in my case) it expected a different Python version. – Josiah Yoder Aug 27 '19 at 17:26
  • As someone who reads too quickly sometimes it may be helpful top move the comment on Dependencies to the first paragraph. "... it can't handle API sets properly. You may wish to try Dependencies by lucasg a newer dependencies app that should handle these properly" – Jimbo Mar 07 '20 at 12:41
28

In addition to what @Ofek Shilon said, I usually ignore following dlls that dependency_walker identified as missing when I try to find missing dlls for my program. You will see that your program runs fine when dependency_walker says these dlls are missing.

  • API-MS-WIN-*.dll
  • EXT-MS-WIN-*.dll
  • IESHIMS.dll
  • EMCLIENT.dll
  • DEVICELOCKHELPERS.dll

You can search for dlls other than the ones above to resolve your problem.

Tae-Sung Shin
  • 20,215
  • 33
  • 138
  • 240
7

Dependencies program helped me find a missing DLL in no time. It is open source and available here: https://github.com/lucasg/Dependencies

kuzavas
  • 2,156
  • 1
  • 16
  • 8
4

I also ignore:

  • EFSCORE.DLL
  • WPAXHOLDER.DLL
botheredbybees
  • 582
  • 6
  • 14