From: Phil R. <Phi...@ds...> - 2004-05-26 15:58:10
|
Does anyone know if there is a way to get py2exe to generate a COM server that automatically registers the server's type library at the same time the server registers? In the script version of my Python COM server I added the following code to my 'main': path = os.path.abspath("test_script_server.tlb") if '--register' in sys.argv[1:]: tlb = pythoncom.LoadTypeLib(path) pythoncom.RegisterTypeLib(tlb, path, None) # Helpdir = None, LCID # is not required despite # what ActiveState might say print "Type library registered." elif '--unregister' in sys.argv[1:]: tlb = pythoncom.LoadTypeLib(path) tlbattr = tlb.GetLibAttr() iid = tlbattr[0] # pyIID stored in first element of tuple try: # All our type libraries are version 1.0, LCID =1 pythoncom.UnRegisterTypeLib(iid, 1, 0, 1, pythoncom.SYS_WIN32) print "Type library unregistered." except: print "Failed to unregister type library." This works fine for the uncompiled COM server, but when it gets built into an .exe or .dll this code is never executed. From what I can tell, py2exe has its own boot code that handles the --register and --unregister stuff. Is there some way to insert your own bootstrap perhaps? Any help would be greatly appreciated. Thanks, Phil |
From: Thomas H. <th...@py...> - 2004-05-26 16:53:02
|
Ah - the first post, even before the brand new mailing list has been announced :-) For this reason, you shouldn't expect too many answers. Phil Rittenhouse <Phi...@ds...> writes: > Does anyone know if there is a way to get py2exe to generate a COM > server that automatically registers the server's type library at the > same time the server registers? I have no time to investigate this in detail right now, but I suggest you look into the spambayes outlook plugin for ideas. This is also built with py2exe. Thomas |