A prior company I worked at used a product called Deski to gather this informaion for all computers on the network. We basically added running this app from a network share on each login to the workstation. It would then scan the workstation and log all the applications which are installed and all the Keys, etc as well as a bunch of hardware information.
As I remember it wasn’t that expensive either. The reporting isn’t that great, because it uses a single XM file for each computer, but we loaded the XML files into a SQL Server 2005 database so that we could easily query the data and report off of it.
Another inexpensive alternative for medium sized installations is <a href=”http://www.koonet.net/cart/product_details.php?category_id=1&item_id=16″>Audit Wizard</a>, again it works in the login script but gathers tons of information about the machine.