Instsrv.exe 与 Srvany.exe 安装Windows服务
原理:
Instsrv.exe可以给系统安装和删除服务
Srvany.exe可以让exe程序以服务的方式运行(Srvany只是exe注册程序的服务外壳,可以通过它让我们的程序以SYSTEM账户活动,随电脑开机而启动,也可以隐藏应用程序的窗口等。)
拷贝:
32位系统:将这两个文件拷贝到 C:\WINDOWS\system32
64位系统:将这两个文件拷贝到 C:\WINDOWS\SysWOW64 和C:\WINDOWS\system32
安装:
先用 instsrv 把 srvany 安装成系统服务。(ServiceName 即你自己定义的服务名称,可以是要作为系统服务启动的应用程序的名称。)
安装 instsrv TestSer1 C:\Windows\System32\srvany.exe
卸载 instsrv TestSer1 remove
配置:
用 regedit 打开注册表,定位到如下路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceName
如果该服务名下没有Parameters项目,则对服务名称项目右击新建项,名称为Parameters,然后定位到Parameters项,新建以下几个字符串值。
名称 Application 值为你要作为服务运行的程序地址。
名称 AppDirectory 值为你要作为服务运行的程序所在文件夹路径。
名称 AppParameters 值为你要作为服务运行的程序启动所需要的参数。
=====================================================
cmd命令处理:
set s32=%windir%\system32 set service_name=nginx1.17.4 set prog_path=D:\Tools\nginx-1.17.4 set prog_name=nginx.exe set prog_param= net stop %service_name% %s32%\instsrv.exe %service_name% remove %s32%\instsrv.exe %service_name% %s32%\srvany.exe reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\%service_name%\Parameters" /v Application /t REG_SZ /d "%prog_path%\%prog_name%" /f reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\%service_name%\Parameters" /v AppDirectory /t REG_SZ /d "%prog_path%" /f reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\%service_name%\Parameters" /v AppParameters /t REG_SZ /d "%prog_param%" /f net start %service_name% pause
set s32=%windir%\system32 set service_name=nginx1.17.4 net stop %service_name% %s32%\instsrv.exe %service_name% remove pause