开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 5 天,点击查看活动详情
一、问题描述
双击 exe 文件报错如下
二、Dependency Walker (depends.exe) Home Page
将 exe 文件拖拽到 dependency 工具中,查看其依赖的 DLL
可以看到其中缺少 MFC80.DLL 和 MSVCR80.dll,这里要注意的就是下载的版本问题,早期的 MFC 库是 win32 版本,需要放到系统对应的路径上C:\Windows\System32\;而MSVCR80.dll有 64 和 32 两个版本,在不知道的情况我们可以分别下载,然后分别放入 C:\Windows\SysWOW64\ 和 C:\Windows\System32\ 中。
如果有其他库的缺失,我们可以在这里下载。
三、命令行 sxstrace.exe 工具
-
以管理员身份打开命令提示符工具,键入命令
sxstrace.exe Trace -logfile:C:\trace.log其中
C:\trace.log是自定义的输出路径,你可以自定义为Disk:xxx.log -
运行待查找错误的 exe 应用程序,此时该工具将自动记录分析错误原因,形成错误的跟踪日志
-
解析log文件,翻译成我们可以读懂的文字语言
sxstrace.exe Parse -logfile:C:\trace.log -outfile:C:\trace.txt其中
-logfile:后面接待解析的文件路径,-outfile:后面接解析后的文件路径
四、问题根源
打开C:\trace.txt文件,可以看到解析后的错误提示,如下所示
错误: 无法解析参考 Microsoft.VC80.MFC,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.762"。
五、解决方案
将问题放入搜索引擎,继续查找原因,可以看到