首页 > 代码库 > 将任意可执行程序部署为系统服务教程

将任意可执行程序部署为系统服务教程

        将任意可执行程序部署为系统服务教程

1.概述

日常开发实施过程中,经常遇到需要将普通程序部署为系统服务的情况:

  • 接口机或者服务器因故障重启,但是运行的程序还需要手动启动;
  • 不需要看到界面的程序,但是需要一直运行,部署为系统服务更为方便;
  • 需要程序在用户不登录的情况下运行,这个必须将程序部署为系统服务才可以。

2.安装服务教程

2.1部署instsrv.exe和srvany.exe

  准备好这两个程序instsrv.exesrvany.exe(在文末附件下载),放在需要部署服务的目标机器任意英文目录下,这里我放在了C:\Tools,如下图所示:

        技术分享

2.2添加服务

  按下Windows+R输入cmd进入命令提示符,这里我想建立一个DeviceAccount的服务,在命令提示符输入如下命令并回车:

    c:\Tools\instsrv.exe DeviceAccount c:\Tools\srvany.exe

 

  如下图所示即可添加DeviceAccount服务:

          技术分享

 注意:上面c:\Tools路径即为instsrv.exesrvany.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:\Toolsinstsrv.exe的对应目录

将任意可执行程序部署为系统服务教程