比较两台不同计算机上同一应用程序的 DLL 集
有没有一种好方法可以比较运行同一应用程序的两台计算机之间加载的 DLL。 (并在其他 N 台机器之间复制该过程,一次两台?)
背景:我正在尝试追踪配置/设置问题。这是一个古老的 DLL 地狱型问题,应用程序可以在一台机器上运行,但不能在另一台机器上运行。
我已经消除了我们的安装程序的问题;它很稳定,但目标系统之间存在差异。不同的 Windows 风格、MDAC 版本等。
我尝试过:使用 Proc Explorer 将 EXE 快照导出到分隔文件并使用 Excel 进行比较。但这非常耗时且容易出错。 (我并不排除使用 Excel 的可能性,我只是不知道足够的技巧来使用它来达到我的目的。)
Is there a good way to compare the DLLs loaded between two machines running the same app. (And to replicate the process between N other machines, two at a time?)
Background: I am trying to track down a configuration/setup issue. It's the age-old, DLL-hell-type problem where an app will run on one machine but not on another.
I have eliminated our installer as an issue; it's stable but there are differences between the target systems. Different Windows flavors, MDAC versions etc.
I have tried: exporting EXE snapshots with Proc Explorer to a delimited file and using Excel to do the comparison. But this is very time-consuming and error prone. (I'm not ruling out Excel as a possibility, i just don't know enough tricks to use it to my ends.)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我建议你看一下 EasyHook,使用它,你可以绕道对 LoadLibraryA 和 LoadLibraryW 的所有调用。这样您就可以监视加载的所有文件并获取它们的路径。之后,您可以按照您喜欢的方式比较文件。如果您需要使用 EasyHook 的帮助,请告诉我,我将编写一个示例。
I'd recommend you take a look at EasyHook, using it, you can create a detour on all calls to LoadLibraryA and LoadLibraryW. This way you can monitor all files that gets loaded, and get the path to them. After that, you can compare the files in whatever way you'd like. If you need help using EasyHook, let me know, and I'll cook up an example.