Dependency Walker:缺少dll


76

我一直在尝试使用Dependency Walker解决可执行文件的.dll依赖关系。当前,我越来越缺少以下形式的.dll:

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编译了可执行文件。最有趣的是,编译期间我没有收到任何错误。但是,由于缺少依赖项,我无法运行它。我还附上了依赖行者的屏幕截图:

依赖漫步者

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


您正在使用什么编译器或IDE?
kizeloo

1
@kizeloo非常感谢您的回复!我使用Visual Studio 2013年
奔N.

Answers:


89

这些是API集-从本质上讲,是自Windows 7开始逐渐引入的额外级别的调用间接调用。依赖行者的开发似乎在此之前就已停止,并且它无法正确处理API集。

因此,这些都是虚假警报,无需担心。您什么都不会错过。

另请参阅On API-MS-WIN-XXXXX.DLL和其他Dependency Walker故障


编辑:直到2017年10月,才有人最终尝试填补这一空白。通过lucasg满足依赖性。到目前为止,我只是简单地摆弄了它,但是它可以很好地处理API集,并且至少非常值得关注。


3
优秀的英特尔!:-)。但是那不是“假阳性”而不是“假阴性”吗?只是挑剔,这对我来说是今天最好的新信息。期待测试Dependencies。谢谢!
SteinÅsmul'Dec 14'17

2
好吧,我正在尝试解决我的库无法加载(LoadLibrary)时出现的问题。我似乎不知道为什么。而且其中某些提到的文件甚至不在我的系统上。这仍然是假阳性吗?
Martin Kosicky

@MartinKosicky提到的文件甚至都不是文件。它们是Windows加载程序的“虚拟标记”-不应在磁盘上存在。因此,这绝对不是您的问题
Ofek Shilon,

1
实际上,lucasg的Dependencies删除了错误的“缺少软件包”,并透露(就我而言)它期望使用其他Python版本。
乔希亚·约德

由于有时阅读速度过快,这可能会很有帮助,可以将有关“依赖关系”的注释移到第一段。“ ...无法正确处理API集。您可能希望通过lucasg一个新的依赖项应用程序来尝试依赖项,该应用程序应能正确处理这些问题”
Jimbo

23

除了@Ofek Shilon所说的以外,当我尝试为程序查找丢失的dll时,我通常会忽略以下那些由Dependency_walker标识为丢失的dll。当dependency_walker说缺少这些dll时,您将看到程序运行正常。

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

您可以搜索除上述以外的其他dll来解决问题。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.