From: <he...@or...> - 2005-04-13 22:09:16
|
>>>> When I tried to register the exe made by the setup the following >>>> traceback is dumped to the log file: >>>> >>>> Traceback (most recent call last): >>>> File "boot_com_servers.py", line 96, in ? >>>> File "boot_com_servers.py", line 66, in DllRegisterServer >>>> File "gdsHMF.pyc", line 87, in DllRegisterServer >>>> File >>>> "win32com\gen_py\3D056FE7-EA8E-481A-B18F-0B02EBF6B3C1x0x1x0.pyc", >>>> line 64, in RegisterExtension pywintypes.com_error: (-2147352567, >>>> 'Ocurri\xf3 una excepci\xf3n.', (0, >>>> 'GoogleDesktopSearch.Register.1', 'Component cannot be >>>> instantiated', None, 0, -2147221164), None) >>>> >> >> # COM server says hello to Google Desktop Search def >> DllRegisterServer(): reg = gds.GoogleDesktopSearchRegister() >> compDesc = ["Title",TITLE, "Description",DESCRIPTION, >> "Icon",GDS_ICON] registration = >> reg.RegisterComponent(MYGUID, compDesc) ret = >> registration.RegisterExtension(GDS_FEXT) >> >> The first call [reg = gds.GoogleDesktopSearchRegister()] works >> (GDS opens a dialog box telling the user that someone is trying >> to install a new plugin) It's the second one >> [registration = reg.RegisterComponent(MYGUID, compDesc)] that fires >> the exception. >> >> Unregistering the COM server works for the script and the exe. > > I think I found it - when you try to register GDS tries to instantiate > the COM component, but maybe it only supports INPROC servers, not > local servers. Registering the gdsHMF.dll seems to work fine (I > installed GDS and tried it out). > > Remember that registering the python *script* writes registry entries > for both the inproc and local server, registering the EXE/DLL that > py2exe creates only registers one of them. Thanks, Thomas. You are correct. I recognize that I'm still learning some COM basics. Best regards, -Hernán. |