python script to find Installed programs in Uninstall folder in registry

KishoreRP kishore007 at gmail.com
Mon Mar 14 23:42:55 EDT 2011


I am working on creating a python script to find Installed programs in
Uninstall folder in registry, the script works perfectly fine on 32
bit machines but errors out with a wmi error on 64 bit machines. Am
not able to get hold of a wmi module for python on 64 bit machines.Is
there one at all? Please ignore indentation errors. I found this
script in some forum, apologies for not giving due credit to the
corresponding author
r = wmi.Registry()
result, names = r.EnumKey (hDefKey=HKEY_LOCAL_MACHINE,
sSubKeyName=r"Software\Microsoft\Windows\CurrentVersion\Uninstall")

    separator = "*" * 80
    keyPath = r"Software\Microsoft\Windows\CurrentVersion\Uninstall"
    for subkey in names:
       try:

            path = keyPath + "\\" + subkey
            key = OpenKey(HKEY_LOCAL_MACHINE, path, 0, KEY_ALL_ACCESS)

            try:
                temp = QueryValueEx(key, 'DisplayName')
                temp1 = QueryValueEx(key, 'DisplayVersion')
                temp2 = QueryValueEx(key, 'Publisher')
                display = str(temp[0])
                display_ver=str(temp1[0])
                display_p=str(temp2[0])

                print ('Display Name: ' + display + '\nDisplay
version:  ' + display_ver + '\nVendor/Publisher:  ' + display_p
+'\nRegkey: ' + subkey + '\n')

            except:
                print ('Regkey: ' + subkey + '\n')


        except:
            fp = StringIO.StringIO()
            traceback.print_exc(file=fp)
            errorMessage = fp.getvalue()
            #error = 'Error for ' + key + '. Message follows:\n' +
errorMessage
            #HelperFuncs.LogError(error)



More information about the Python-list mailing list