Getting the file description in C# requires using the VerQueryInfo calls to load in the data from the file. First you load in the culture information so you get the information in the right language and then you load the actual data into the buffer. To do this you need to call a couple of external unsafe method calls to the various methods defined in version.dll
Below is a small class that takes in a path and gets the file version information from it. This is useful when reading in the WPC logs to turn the application's run into an actual name for the application.
I adore your site, looks excellent and full of good info. Keep it up.