service windows avec py2exe
Tim Golden
tjgolden at gmail.com
Sun Nov 12 09:35:57 EST 2006
DarkPearl wrote:
> ok,
>
> It's this line who crash the service :
>
> self.WMIService
> =win32com.client.GetObject(r"winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
>
>
> why this function goes when it is not a service?
>
> with IDLE -> ok
> with py2exe executable (no windows service) -> ok
> with py2exe service option true (windows service) -> CRASH....
OK. I think I can help here. WMI is a COM/DCOM-based technology.
Windows services are inherently multithreaded. Therefore you need to
Initialize a COM threading model specifically even though you're not
really using threads yourself.
Try putting:
import pythoncom
pythoncom.CoInitialize ()
somewhere before the line which instantiates the WMI
object (the one you quoted above).
I have no idea why this usually manifests itself as a
"Syntax Error" but it does!
TJG
More information about the Python-list
mailing list