It wasn’t long ago that I started using the free tool Install Analyzer by VeriTest-Rational to validate directory and registry changes during install. The tool is ultra helpful to monitor changes caused by an installer under test and has the plus of being fast. I had tried other system change monitoring tools but the speed of gathering 3 snapshots was unbearably slow (before install, after install, after uninstall). With unbearably slow not an option Install Analyzer quickly found a snug little place in my testing toolbox. Over the course of a few weeks I realized that Install Analyzer was missing one key piece of information: assembly version numbers. Hmmm, no biggy I can work around that…or can I… As my installer tests evolved due to a defect after defect of file property issues, I found that an overview of the files installed and their properties was needed direly. What better way to guarantee getting the perfect tool for your needs than to build it yourself? File Property Reporter was born.
File Property Reporter analyzes a directory and all underlying subdirectories, reports the directory structure, all the files names, and all the properties of the files. Using all the file properties available in the classes FileVersionInfo and FileInfo the tool is capable of gathering and reporting on 40 different file properties (CompanyName, FileBuildPart, FileDescription, FileMajorPart, FileMinorPart, FileName, FilePrivatePart, FileVersion, InternalName, IsDebug, IsPatched, IsPrivateBuild, IsPreRelease, IsSpecialBuild, Language, LegalCopyright, LegalTrademarks, OriginalFilename, PrivateBuild, ProductBuildPart, ProductMajorPart, ProductMinorPart, ProductName, ProductPrivatePart, ProductVersion, SpecialBuild, Name, Length, DirectoryName, Directory, Exists, FullName, Extension, CreationTime, CreationTimeUtc, LastAccessTime, LastAccessTimeUtc, LastWriteTime, LastWriteTimeUtc, Attributes). The tool can also detect and report non-compliant property strings for “ProductVersion” and “CompanyName”. In addition, files reported on can be narrowed by using file patterns (e.g. *.dll, *.aspx, *.*).
See an example File Property Report ran against a FireFox 1.0.8 directory here (8 properties enabled).
Download File Property Reporter here (11.97 KB).
Possible uses for File Property Reporter:
- Extract contents of Installshield installers to a directory (using the /admin command line parameter) and run the tool to get an overview report of all the files and directory structure. Or in other words, create a file manifest.
- Use a file differencing tool to compare resulting reports between two installer builds to expose changes.
- Snapshot your file system pre-install, post-install, post-uninstall and compare the reports using a file differencing tool to see the disk changes.
Enjoy, it’s free. No installation is required, just drop the exe and the config file in a directory and run it. The options are pretty self explanatory. The configuration file keys are documented in the file. Email me if you have questions or comments.
Future plans include:
- Making it multi-threaded so the GUI doesn’t freeze up while running against huge directory structures (e.g. all of C:\).
- Allow property validation for all properties.