Ahh well I hope you realise that by doing this you are literally opening a can of worms.... first of all you gotta review whether this is a viable operation. So for each PC you have what is the user install/uninstall capabilities? If the user is free to install then you're gonna find alotta s**t on these machines, everything from 3rd party mp3 players to computer games etc..
Second you've gotta consider whether you want to collect 'every' bit of software from each machine (this will include freeware, demo's, bundled software etc.. etc...)
Third of all are all of these machines connected to a network or connectable to your network? If so then the easiest way to do this is ask your network administrator to run a scanning program that will grab 'all' programs by name, edition, version etc... I forgot what the program is called but google it and as i sed it scans and then dumps all the results into an excel spread sheet. You can then import this into the database and let your logical nightmare begin.
If possible I would stay away from this or if its necessary then get implicit instructions from your boss from factors i've mentioned above. If its just a 'I want to know what people have on their machines' sorta task that will be easy, if its a I wanna see what software is on each machine that the company currently owns licenses for etc.. then it gets messy!
good luck