DLL comparison tool

master7045

Senior member
Jul 15, 2005
729
0
76
My job requires me to troubleshoot point of sale issues and one area that comes up a lot are out of date/ old versions of DLLs. Does anyone know of a free dll comparison utility that will compare the DLL versions?

Many Thanks
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
That would depend on the software developers properly versioning and updating their DLLs which isn't usually the case on Windows.
 

NP Complete

Member
Jul 16, 2010
57
0
0
I agree with Nothinman - it's far to easy for developers to forget to update the version number (especially if the software is sold by a relatively small/new company).

I would recommend using some sort of hashing program, create hashes of known good version, and then compare hashes of dlls on the POS terminals with the known good hashes. If you find a good program, it should be relatively easy to automate this. Link to list of programs below:

http://en.wikipedia.org/wiki/Comparison_of_file_verification_software
 
Last edited:

zebano

Diamond Member
Jun 15, 2005
4,042
0
0
I don't know of an app that does this since my company is notorious for forgetting to version their files properly. If you're not happy with what you find, you could write this pretty easily... google for StringFileInfo or GetFileVersionInfo(). As previously stated this is dependent upon your dlls being properly versioned.
 

master7045

Senior member
Jul 15, 2005
729
0
76
Thanks for the suggestions thus far. NP, I did stumble across that link the other day, but wasn't sure which program to try. My understanding of Dlls is zilch, unfortunately. Basically I go as far as un-reging them and re-reging them. Our developer must be pretty decent and keeping correct version #s as when I open support calls with them, they are always explaining how they found a newer version on a different PC. I would like to be able to do that part of troubleshooting myself as it would be much faster than having to wait for them to get back to me (which can take weeks).
 

Cogman

Lifer
Sep 19, 2000
10,286
145
106
Generate MD5 sums. If it matches, its good, if not, its bad. That will be the simplest and most effective method of doing what you want to do.
 

DaveSimmons

Elite Member
Aug 12, 2001
40,730
670
126
Generate MD5 sums. If it matches, its good, if not, its bad. That will be the simplest and most effective method of doing what you want to do.

Or if there are multiple acceptable versions you can keep a table / sheet of versions and their MD5s.

We intentionally don't update the version resources in our exes and dlls because then InstallShield wants to use its own patching / update logic, which conflicts with our own patching and repair strategies.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
Or if there are multiple acceptable versions you can keep a table / sheet of versions and their MD5s.

We intentionally don't update the version resources in our exes and dlls because then InstallShield wants to use its own patching / update logic, which conflicts with our own patching and repair strategies.

Yea, I was thinking a spreadsheet might work well enough too.
 

zebano

Diamond Member
Jun 15, 2005
4,042
0
0
Sorry to point out the obvious but you do know that you can go right click > properties > Version at a minimum if you have a copy of the dll right?
 

DaveSimmons

Elite Member
Aug 12, 2001
40,730
670
126
Sorry to point out the obvious but you do know that you can go right click > properties > Version at a minimum if you have a copy of the dll right?

See above about companies (including mine) not updating the version resource for new versions. I think even Microsoft has been guilty of this.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
See above about companies (including mine) not updating the version resource for new versions. I think even Microsoft has been guilty of this.

And many of us hate all of you for that...

Edit: Well, maybe not you specifically, more like MS for not providing real package management so all of these stupid workarounds wouldn't be necessary.
 
Last edited: