[python-win32] Installing a Python script as service

Roger Upole rwupole at msn.com
Sat Aug 27 03:51:00 CEST 2005


The intent is to register the service to run in debug mode if you're currently
running a debug build.  By convention, pyd's and exe's have _d appended
to them for a debug build, so you'd have win32service_d.pyd.
It would be more reliable to use os.path.splitext and check that the last
2 chars are _d rather than doing .find on the whole path.

     hth
         Roger

  Hi 

  We have the following problem when we try to install a Python script as Win32 service: 

  The Python script is located in a path that contains the substring "_demonstrator". When installing the Python service for this script, we get the error message, the the file "PythonService_d.exe" isn't found. We don't have this file in our Python installation. First investigations led us to the following lines at win32serviceutil.py: 

  def LocatePythonServiceExe(exeName = None): 
      # Try and find the specified EXE somewhere.  If specifically registered, 
      # use it.  Otherwise look down sys.path, and the global PATH environment. 
      if exeName is None: 
          if win32service.__file__.find("_d")>=0: 
              exeName = "PythonService_d.exe" 
          else: 
              exeName = "PythonService.exe" 
     ... 

  This function is called to find the executable for the Python service to store it at registry when the Python service is installed. The call to find("_d") returns with >0 in our case, because our path contains the substring "_demonstrator". I don't understand what the meaning of this lines is. Why is the decission for correct PythonService exe made on the substring "_d"? This is not very save, I think. 

  Can anybody explain this? 

  An easy workaround is to avoid the substring "_d" in the path to the Python script that should be installed as PythonService. But is it realy intended to forbid "_d" substrings in paths for PythonServices when we don't want to run in PythonService_d.exe? How can this be ensured in real world? Maybe there should be another criteria for the decision which PythonService exe is taken. 

  Regards, 
  Wolfgang


------------------------------------------------------------------------------


  _______________________________________________
  Python-win32 mailing list
  Python-win32 at python.org
  http://mail.python.org/mailman/listinfo/python-win32
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/python-win32/attachments/20050826/3367955b/attachment.html


More information about the Python-win32 mailing list