Menu

#729 Win64 libraries aren't found by makepy

v1.0 (example)
open
nobody
None
5
2016-08-23
2016-08-23
No

We've noticed that some libraries found in "Type Libraries" list in OLE/COM Object Viewer or using Python COM Browser (win32com\client\combrowse.py) aren't seen by makepy (win32com\client\makepy.py).

It turned out that the problem is in win32com\client\selecttlb.py which searchs for libraries in registry looking only into win32 key:

try:
key4 = win32api.RegOpenKey(key3, "%s\win32" % (lcid,))
except win32api.error:
continue

This fix helped us to find missing libraries:

try:
key4 = win32api.RegOpenKey(key3, "%s\win32" % (lcid,))
except win32api.error:
try:
key4 = win32api.RegOpenKey(key3, "%s\win64" % (lcid,))
except win32api.error:
continue

We are using Python 2.7 and pywin32 build 220.

Discussion