Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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

share|improve this question
up vote 1 down vote accepted

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.

share|improve this answer
What will handle.exe give me that process explorer doesn't? – Paul Sasik Oct 22 '10 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 '10 at 19:42
i get it. Thanks for the explanation. i will try that approach. – Paul Sasik Oct 22 '10 at 19:50

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.