So I would try and manage the expectations. Trying to figure out all software added to a computer is large task that if executed without proper definitions, and scopes will give you a load of crap. First you will need to define the term software. Is it all exes added or changed on a computer or a limited amount of actual software you care about. If you want to track every EXE, patch, driver, freeware, applet know to man kind you will not get any work done. So here is a quick example to show you all Itunes installations (well you could argue that discovery date is not install date and could try and use Application suites install date, but WTF).