note
puploki
<p>As others have said, there are a fair few ways to approach this, so I'll just summarise them:</p>
<p><ul>
<li>Trawl through the registry looking (see [id://358008]) at registered programs.</li>
<li>Use WMI (quicker) to pull out a list of registered programs: [id://347786]</li>
<li>Use an external program like <a href="http://www.sysinternals.com/">psinfo</a> to pull out a list of registered programs.</li>
<li>Scan every .exe on the machine and pull out the publisher, program name and version. You can do this with [CPAN://File::Find::Rule] and [CPAN://Win32::AdminMisc]. <br />This is the approach taken with SMS 2003 and many other vendors in commercial inventory/patching systems.<br />There's a code example for this up <a href="http://www.codeproject.com/books/1578702151.asp"> at codeproject.com</a>.</li>
</p>
497218
497218