I stumbled on this tool and the accompanying utility the other day and thought is particularly handy. The IconHandler will pull from the OS the appropriate icon for a file given it’s extension. In the case of servers that may not have the associated software and icons installed, you can use the IconGen.exe utility to pull them from your development machine (which is usually packed with software :) ) and use them in the application. Check out this blog post to learn more:

http://mvolo.com/blogs/serverside/archive/2008/04/27/IconHandler-2.0-File-icons-in-ASP.NET-applications.aspx