1

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.)

(I initially posted this question on StackOverflow but it resulted in a tumbleweed. Hoping for better luck here. Thanks!)

1 Answer 1

1

I don't have time to write a whole script for you, but you could call handle.exe -p process_name.exe, grep for the DLL(s) that you care about (maybe all of them), and then run sigcheck against each of them. Sigcheck has different options, including filehashing if you can't depend on the reported version information.

handle and sigcheck are also from SysInternals.

3
  • What will handle.exe give me that process explorer doesn't?
    – Paul Sasik
    Oct 22, 2010 at 19:05
  • handle.exe is a CLI tool, thus scriptable. Same with sigcheck. I described the flow in my answer. Your tool for pattern matching will depend on the scripting language you choose - you could definitely do this with Perl or PS, probably without even needing intermediate files. I wouldn't try this in BAT, but VBS would probably do well too.
    – mfinni
    Oct 22, 2010 at 19:42
  • i get it. Thanks for the explanation. i will try that approach.
    – Paul Sasik
    Oct 22, 2010 at 19:50

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .