依赖 Walker: 丢失的 dls

我一直在努力解决。使用 依赖 Walker的可执行文件的 dll 依赖项。现在,我失踪了。下列形式的 dls:

API-MS-WIN -XXX

EXT-MS-WIN -XXX

例如:

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

有人知道怎么解决这些问题吗? 如有任何帮助,我们将不胜感激!

附加信息: 我使用 Visual Studio 2013编译了可执行文件。最有趣的是,我在编译过程中没有收到任何错误。但是,由于缺少依赖项,我无法运行它。我还附上了沃克依赖性的截图:

dependency walker

更新1: 为了解决这个问题,我尝试将 VS 在编译过程中使用的库路径添加到 $路径环境变量,但是没有成功(依赖 Walker仍然显示未解决的依赖关系)。

82522 次浏览

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.

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.

I also ignore:

  • EFSCORE.DLL
  • WPAXHOLDER.DLL

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