Windows Dependency Walker:缺少DLL

Windows Dependency Walker:缺少DLL,windows,dll,visual-studio-2013,dependencies,dependency-walker,Windows,Dll,Visual Studio 2013,Dependencies,Dependency Walker,我一直在尝试使用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

我一直在尝试使用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编译了可执行文件。最有趣的是,我在编译过程中没有收到任何错误。但是,由于缺少依赖项,我无法运行它。我还附上了dependency walker的屏幕截图:

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

这些都是API集-从windows 7开始逐步引入。Dependency walker开发似乎早在那之前就停止了,它无法正确处理API集

所以这些都是假警报,没什么好担心的。你没有遗漏任何东西

另见



编辑:直到2017年10月,才有人试图填补这一空白。满足到目前为止,我只是对它进行了短暂的修改,但它很好地处理了API集,至少非常值得注意。

除了@Ofek Shilon所说的之外,当我试图为我的程序查找缺少的DLL时,我通常会忽略依赖项walker识别为缺少的DLL。当dependency_walker说缺少这些DLL时,您将看到程序运行良好

  • API-MS-WIN-*.dll
  • EXT-MS-WIN-*.dll
  • IESHIMS.dll
  • EMCLIENT.dll
  • DEVICELOCKHELPERS.dll
您可以搜索上述DLL以外的DLL来解决问题。

我也忽略:

  • EFSCORE.DLL
  • WPAXHOLDER.DLL

依赖项程序帮助我很快找到了丢失的DLL。它是开源的,可以在这里找到:

您使用的是什么编译器或IDE?@kizeloo非常感谢您的回复!我正在使用Visual Studio 2013。出色的英特尔!:-)。但这不是“假阳性”而不是“假阴性”吗?只是吹毛求疵,这对我来说是今天最好的新信息。期待测试
相关性
。谢谢当我的库无法加载时,我试图解决一个问题(LoadLibrary)。我似乎不明白为什么。其中一些文件甚至不在我的系统中。这仍然是假阳性吗?@MartinKosicky提到的文件甚至不是文件。它们是windows loader的“虚拟标记”,不应该存在于磁盘上。因此,这绝对不是你的问题事实上,lucasg的Dependencies删除了错误的“缺少的包”,并透露(在我的例子中)它期望一个不同的Python版本。对于阅读速度过快的人来说,有时将关于Dependencies的评论移到第一段可能会有所帮助。“…它无法正确处理API集。您可能希望通过lucasg尝试Dependencies,这是一个新的Dependencies应用程序,可以正确处理这些设置。”这已添加到中,@Steji的回答中(已删除)。