<br><font size=2 face="sans-serif">Hi</font>
<br>
<br><font size=2 face="sans-serif">We have the following problem when we try to install a Python script as Win32 service:</font>
<br>
<br><font size=2 face="sans-serif">The Python script is located in a path that contains the substring &quot;_demonstrator&quot;. When installing the Python service for this script, we get the error message, the the file &quot;PythonService_d.exe&quot; isn't found. We don't have this file in our Python installation. First investigations led us to the following lines at win32serviceutil.py:</font>
<br>
<br><font size=2 face="sans-serif">def LocatePythonServiceExe(exeName = None):</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; # Try and find the specified EXE somewhere. &nbsp;If specifically registered,</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; # use it. &nbsp;Otherwise look down sys.path, and the global PATH environment.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; if exeName is None:</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; if win32service.__file__.find(&quot;_d&quot;)&gt;=0:</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; exeName = &quot;PythonService_d.exe&quot;</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; else:</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; exeName = &quot;PythonService.exe&quot;</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp;...</font>
<br>
<br><font size=2 face="sans-serif">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(&quot;_d&quot;) returns with &gt;0 in our case, because our path contains the substring &quot;_demonstrator&quot;. I don't understand what the meaning of this lines is. Why is the decission for correct PythonService exe made on the substring &quot;_d&quot;? This is not very save, I think.</font>
<br>
<br><font size=2 face="sans-serif">Can anybody explain this?</font>
<br>
<br><font size=2 face="sans-serif">An easy workaround is to avoid the substring &quot;_d&quot; in the path to the Python script that should be installed as PythonService. But is it realy intended to forbid &quot;_d&quot; 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.</font>
<br>
<br><font size=2 face="sans-serif">Regards,</font>
<br><font size=2 face="sans-serif">Wolfgang</font>