Windows Dependency Walker:缺少DLL
我一直在尝试使用Dependency Walker解析可执行文件的.dll依赖关系。目前,我正在以以下形式丢失.dll: API-MS-WIN-XXX EXT-MS-WIN-XXX 例如: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
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
- EFSCORE.DLL
- WPAXHOLDER.DLL
相关性
。谢谢当我的库无法加载时,我试图解决一个问题(LoadLibrary)。我似乎不明白为什么。其中一些文件甚至不在我的系统中。这仍然是假阳性吗?@MartinKosicky提到的文件甚至不是文件。它们是windows loader的“虚拟标记”,不应该存在于磁盘上。因此,这绝对不是你的问题事实上,lucasg的Dependencies删除了错误的“缺少的包”,并透露(在我的例子中)它期望一个不同的Python版本。对于阅读速度过快的人来说,有时将关于Dependencies的评论移到第一段可能会有所帮助。“…它无法正确处理API集。您可能希望通过lucasg尝试Dependencies,这是一个新的Dependencies应用程序,可以正确处理这些设置。”这已添加到中,@Steji的回答中(已删除)。