我已经创建了一个Windows服务来启动.py脚本。
sc create "Maraschino" binPath= "C:\HTPC\Maraschino\maraschino-cherrypy.py" DisplayName= "Maraschino" depend= "Tcpip"
然后我添加了一个注册表项来链接.py以使用python.exe打开
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Maraschino\Parameters]
"AppDirectory"="C:\\Python27"
"Application"="C:\\Python27\\python.exe C:\\HTPC\\Maraschino\\maraschino-cherrypy.py"
然而,当我尝试启动服务时,我得到错误193 0xc1,当谷歌搜索显示它不是一个有效的exe我试图启动。我知道它不是.exe而是.py并将其链接到用python.exe打开应该解决这个问题但是我犯了一个错误。在链接脚本以使用python.exe
时,是否有人对我可能做错了什么有所了解由于
答案 0 :(得分:17)
您可以使用 srvany.exe 执行此操作,该工具是Microsoft专门为此类任务执行的工具。
首先,下载并安装Windows Resource Kit。 注意:您只需要srvany.exe,它适用于所有版本的Windows。
假设Windows资源工具包安装在C:\ Program Files \ Windows Resource Kits \ run:
sc create "[YourService]" binPath= "C:\Program Files\Windows Resource Kits\srvany.exe"
现在,运行 regedit 。
在“注册表编辑器”对话框中选择
HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > [YourService]
选择[YourService]后,点击编辑>新>工具栏中的键。
输入参数并按Enter键。
从工具栏中选择编辑>新>字符串值。
输入应用并按Enter键。
右键单击“应用程序”,然后选择“修改”。
C:\Python27\python.exe C:\[YourServicePath].py
点击“确定”按钮。
繁荣!你有一个很好的新服务。
答案 1 :(得分:0)
我不知道sc是如何工作的,但我认为必须将参数传递给二进制文件,所以你可以尝试注册“C:\ Python27 \ python.exe C:\ HTPC \ Maraschino \ maraschino -cherrypy.py“而不是。
您也可以尝试py2exe:)
答案 2 :(得分:0)
@Ohad的更新。首先将srvany.exe部署到所有机器
第1步:
然后打开命令提示符并按
sc create“[YourService]”binPath =“C:\ Program Files(x86)\ Windows Resource Kits \ Tools \ srvany.exe”start = auto DisplayName =“[YourService Monitor]”
[SC] CreateService SUCCESS
步骤2:制作一个包含以下内容的file.reg,然后双击它
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\[YourService]\Parameters]
"Application"="C:\\[YourService Executable].exe"
步骤3:现在启动服务,它将执行你在file.reg
中分配的内容完成