Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

python script to find Installed programs in Uninstall folder in registry

42 views
Skip to first unread message

KishoreRP

unread,
Mar 14, 2011, 11:42:55 PM3/14/11
to
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)

Tim Roberts

unread,
Mar 15, 2011, 2:31:57 AM3/15/11
to
KishoreRP <kisho...@gmail.com> wrote:
>
>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.

There shouldn't be any difference. What error do you get, exactly?

Also, let me point out that you can access the registry in a couple of
ways, without invoking the overhead of WMI. I grant you that they are a
bit wordier, but it might get you around this issue.
--
Tim Roberts, ti...@probo.com
Providenza & Boekelheide, Inc.

Tim Golden

unread,
Mar 15, 2011, 5:00:15 AM3/15/11
to pytho...@python.org
On 15/03/2011 03:42, KishoreRP wrote:
> 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.

You don't say what the error is (and your snippet doesn't run without
some alterations) so would you mind showing just enough code for
the error to occur plus a cut-and-paste of the traceback?

> Am not able to get hold of a wmi module for python on 64 bit machines.
> Is there one at all?

The wmi module is pure Python, relying only on Python & the pywin32
extensions. If you have both of those installed as 64-bit you can
just drop the wmi.py module into the right place and go from there.


TJG

0 new messages