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....