首页 > 代码库 > 将任意可执行程序部署为系统服务教程
将任意可执行程序部署为系统服务教程
将任意可执行程序部署为系统服务教程
1.概述
日常开发实施过程中,经常遇到需要将普通程序部署为系统服务的情况:
-
接口机或者服务器因故障重启,但是运行的程序还需要手动启动;
-
不需要看到界面的程序,但是需要一直运行,部署为系统服务更为方便;
-
需要程序在用户不登录的情况下运行,这个必须将程序部署为系统服务才可以。
2.安装服务教程
2.1部署instsrv.exe和srvany.exe
准备好这两个程序instsrv.exe和srvany.exe(在文末附件下载),放在需要部署服务的目标机器任意英文目录下,这里我放在了C:\Tools,如下图所示:
2.2添加服务
按下Windows+R输入cmd进入命令提示符,这里我想建立一个DeviceAccount的服务,在命令提示符输入如下命令并回车:
c:\Tools\instsrv.exe DeviceAccount c:\Tools\srvany.exe
如下图所示即可添加DeviceAccount服务:
注意:上面c:\Tools路径即为instsrv.exe和srvany.exe的路径
2.3修改服务参数
按下Windows+R输入regedit进入注册表编辑器,找到添加的DeviceAccount服务节点:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DeviceAccount,如下所示:
选中点击该节点,在右侧空白区域右键选择新建名称为Parameters的项,如下所示:
点击新建的Parameters,并再次新建一个类型为字符串值名称为"Application"的子键,数据类型为"REG_SZ",数值为希望作为服务运行的程序的所在位置。例如,要部署的程序如下所示:
对应程序的全路径为:D:\05 后台计算\03 设备台账\设备台账.exe,因此Application的值即为D:\05 后台计算\03 设备台账\设备台账.exe,填写完毕如下所示:
此时服务默认为自动启动的。
下面介绍程序以服务运行时依然可以看到界面的方法:
按下Windows+R输入"Services.msc"打开服务管理,找到DeviceAccount服务,如下所示:
双击该服务并在登录标签下勾选"允许服务于桌面交互",如下图所示:
点击确定即可设置完毕。
3.卸载服务教程
首先停止服务,然后打开命令提示符,输入以下命令并回车即可删除DeviceAccount服务:
c:\Tools\instsrv.exe DeviceAccount remove
这里的c:\Tools是instsrv.exe的对应目录
将任意可执行程序部署为系统服务教程