我一直在尝试使用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
Run Code Online (Sandbox Code Playgroud)
有没有人对如何解决这些问题有任何想法?任何帮助将不胜感激!
附加信息:我使用Visual Studio 2013编译了可执行文件.最有趣的是我在编译期间没有收到任何错误.但是,由于缺少依赖项,我无法运行它.我还附上了依赖性walker的截图:
更新1:作为解决问题的尝试,我尝试将编译期间VS使用的库的路径添加到$ PATH环境变量,而没有任何运气(Dependency Walker仍然显示未解析的依赖项).
windows dll dependencies dependency-walker visual-studio-2013
在Windows 7 x64下,当我尝试使用最新版本的Dependency Walker(2.2.6000)分析x86可执行文件时,分析过程始终会挂起.大多数情况下,加载的最后一个DLL是c:\windows\syswow64\URLMON.DLL,因此似乎该DLL内部的某些内容导致了问题.在Windows 7 x86上分析相同的可执行文件可以完美地运行.
我用Google搜索得非常广泛,但无法找到问题的解决方案.我发现的一个建议是卸载IE 8或IE 9并用IE 7替换它,但这并没有真正帮助.我能观察到的唯一影响是,在IE 7中,分析过程会挂起在不同的DLL上(iertutil.dll如果我没记错的话,也可以从系统的syswow64文件夹中找到).
所以我的问题是:如何让Dependency Walker在x64 Windows 7上配置x86应用程序?当然,首先要知道问题存在的原因也很好:-)
最后的一些说明: