Frequently while performing network assessments I need to assemble a list of all the programs installed on servers. Going to Add/Remove Programs and writing it down is a tedious process. Installing applications like Belarc Advisor is a bit more intrusive then I want to be on another companies servers. After some research today I found two solutions that work well:
For XP and Server 2003
http://www.billsway.com/vbspage/ShowScript.asp?tgt=txtfiles/InstalledPrograms.txt
The above contains the contents of a vbscript. You copy the contents into a text file and save it with a .vbs extension. You can then double-click it. It will prompt you for a computer name or IP address. When it finishes running it generates a file that contains a list of all the programs installed. It seems to work great with Windows XP and 2003, but only returns a partial list for Windows 2008.
For Vista, Windows 7, Server 2008 and 2008 R2
http://www.intowindows.com/how-to-get-list-of-installed-apps-in-vistawindows-7-without-any-software/
This link shows how to generate the list using wmi commands. It says it is for vista and windows 7, but seems to work on Server 2008 just fine. Unlike the vbscript, this must be run directly on the computer in question.
Conclusion
Both these methods seem to work well, but they do generate files on the system that need to be copied off to be useful. If you are using them on someone elses computers I would advise you get explicit permission before using these tool.
Unrelated but also helpful.
If your assessment involves Dell servers, you might want to get the service tags for the servers. Older Dells tend to put this sticker in inconvenient locations. Luckily you can query the servers for the tag using this handy vbscript.