有没有一种好的方法可以比较运行同一应用程序的两台计算机之间加载的 DLL。(并且可以一次在两台其他计算机之间复制该过程?)
背景:我正在尝试查找配置/设置问题。这是一个古老的 DLL 地狱类型的问题,应用程序可以在一台机器上运行,但不能在另一台机器上运行。
我已经排除了我们的安装程序存在的问题;它很稳定,但目标系统之间存在差异。不同的 Windows 版本、MDAC 版本等。
我尝试过:使用 Proc Explorer 将 EXE 快照导出到分隔文件,然后使用 Excel 进行比较。但这非常耗时且容易出错。(我并没有排除使用 Excel 的可能性,只是我不知道如何使用它来达到我的目的。)
(我最初在 StackOverflow 上发布了这个问题,但结果却一无所获。希望我能有更好的运气。谢谢!)
答案1
我没有时间为您编写整个脚本,但您可以调用 h andle.exe -p process_name.exe
,grep 查找您关心的 DLL(可能是所有 DLL),然后sigcheck
对每个 DLL 运行。Sigcheck 有不同的选项,如果您不能依赖报告的版本信息,则包括文件哈希。
handle 和 sigcheck 也来自 SysInternals。