I would like to create a Windows Service using a batch script for a Python script that I have written. I decided to do some experimenting with sc. Here is the line that I used:
sc create RoundTripService binPath="C:\Python27\python.exe C:\script.py" type=own error=ignore start=auto
Unfortunately, when I do so, the console is giving me a printout of the Description/Usage/Options, etc. of sc instead.
sc create serviceName binpath= "path\to\service-wrapper-7.4.exe" optionName= optionValue ... where: create is the command to be run by SC (this command name is mandatory to create a service). serviceName is the name of the Windows service to be created.
SC is overly strict about spaces in its command line and you are receiving the error because you have no space after the "binPath=" and "type=" components. Run
SC CREATE /?
at a DOS prompt to see how your command line should be constructed.
But even if you get SC to install python, you will run into the dreaded "Error 1053" when you attempt to start the service! This is because Python.exe is not a true Windows Service executable and can not react to the Windows Service Control Manager's request to start the service. You will need a "service wrapper" (like Microsoft's SRVANY, though it has some shortcomings) to intercept the requests from the Windows Service Control Manager and start your python script.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With