[python-win32] Single-instance, only when invoked COM localserver

J jeparg at aim.com
Thu Apr 30 05:20:47 CEST 2009


Hi all.? First post, and I
did try to do due diligence on browsing the mailing list and googling,
but I could not find an answer to this (? hopefully I tried hard
enough... ;->? ).




I have a setup where I want a COM LocalServer to only be available when the application has been manually started.




Basically my COM server gets enabled when the user starts an
application that loads my application as a dll.? My COM server is
useless without the application. In standard COM, this is achieved by
registering a dummy dll and then using 



CoRegisterClassObject(CLSID_SOME,&ei,CLSCTX_LOCAL_SERVER,REGCLS_MULTIPLEUSE,&pdwReg)



in the executable, making it available when the process is running.



The python win32com examples all perform a single registration which
allows other com clients to use it at arbitrary times, which will not
work for me.? I would need to either:



1. Be able to register the COM server at installation time with a
"dummy" dll and only have it be available when the process is running
and my dll is loaded into it



or



2. Register/unregister the COM server on demand - once at the entry
point into my dll and once on exit, but do so without administrative
privelidges since that would be unworkable for the user.



Could someone give me a hint how I might be able to achieve this with python win32com?



Thanks

Johan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-win32/attachments/20090429/731dea0e/attachment.htm>


More information about the python-win32 mailing list