Skip to content Skip to sidebar Skip to footer

To Check Installed Software Using A Program

We need to create a program ..actually we were asked to create a software licensing compliance tool....How do we check the installed software inside the machine.. Is it through the

Solution 1:

As you already mentioned the list of (properly) installed programs can be found in the registry under the key

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

See here for example or use google for further information. Have a look at this key using regedit, the structure id quite obvious.

For accessing the registry using python, see _winreg – Windows registry access in the python standard library documentation.

Note that there may always be software which doesnt show up in the registry: Some software can still be installed by just putting it in a directory, you'll not catch these guys...

For the second part, there is no way of telling the license type or licensing status (i.e. properly licensed) from looking at the registry. There is no standard way to store this information. The best you can do is to compile a list of as many programs as you can (you'll have to do this by hand, that will be time-consuming even for standard programs like Office, Adobe etc.) and store all necessary information (i.e. GUID key in registry, license type etc.) in a database.

Your tool could then compare the list of currently installed programs against your list, possibly checking the licensing status. This will be even harder as the first step since every software has it's own (mostly secret!) way of storing this - after all if this information is accessible it could also be forged.

Then your tool could inform the system adminstrator about its findings and any programs that are not on the list, he would have to check the licensing manually for them. You could provide some organisational help for managing this information and perhaps even update the database for future use.

HTH

Martin

Solution 2:

You can use AutoIt a powerful scripting language for windows which has really good and simple to use API on Windows.

Post a Comment for "To Check Installed Software Using A Program"