During the software development process I often find myself having to deal with multiple versions of the same dynamic linked library (dll) and executable files. Quite often, mismatched versions of the files get mixed up, causing major headaches. Having to identify the incompatible files among tens or hundreds of files can be a tedious task. It would be nice if we could generate a report that would list all the file names and their versions. Storing the report in a text file format would be the icing on the cake.
Once again, we turn to another great tool from Sysinternals suite. Sigcheck.exe is a free command line utility as all Sysinternals utilities are. It can be downloaded from here. Once you have downloaded the file, unzip it and you are ready to run it. It is a standalone utility that does not require installation. It accepts several parameters that I will not cover here since they can be found on its homepage. I am only concerned with the parameters that would display the version for all the dll files in the specific folder and its subfolders. I would also like to have the output in a comma separated text file format. The following command accomplishes it:
sigcheck.exe -s -v *.dll > report.txt -s Traverse subfolders -v CSV output
The report.txt file can be imported in a spreadsheet for easy browsing.