如何把非服务程序(一般的应用程序)注册为Windows服务

非服务程序:不是标准的服务形式的程序吧,只是普通的应用程序。

1、要实现这个功能要用到微软提供的两个小工具“instsrv.exe”和“srvany.exe”,工具可以从微软下载安装工具包得到:https://www.microsoft.com/en-us/download/details.aspx?id=17657

2、工具的作用:Instsrv.exe可以给系统安装和删除服务,Srvany.exe可以让程序以服务的方式运行

3、把下载好的两个工具放在同一个目录,这里以"D:\DevSoft\srvany\"为例,然后运行cmd进入DOS命令行

4、注册系统服务

D:\DevSoft\srvany\instsrv.exe ReSharper2016 D:\DevSoft\srvany\srvany.exe

如图,提示添加成功!还没完!!!需求配置注册表

5、运行regedit进入注册表

6、在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下找到刚刚注册的服务名ReSharper2016

7、右键ReSharper2016,新建一个项,名称为"Parameters"

8、右键Parameters,新建一个字符串值,名称为"Application"

9、右键Application,修改->在数值数据中设置要做为服务运行的程序的路径,eg:"D:\\DevSoft\\Resharper\\ReSharper2016\\IntelliJIDEALicenseServer(v1.3)\\IntelliJIDEALicenseServer_windows_amd64.exe"。(这里需要注意:目录层级的斜杠必须使用双斜杠隔开,不然服务没办法自动启动)

10、以上就已经可以正常启动服务了,这里还可以添加服务描述:右键Parameters,新建一个字符串值,名称为"Description",同步骤9,设置服务描述

 

11、如果你要做为服务运行的程序是在运行后需要界面的,我们可以打开服务,找到刚刚创建的服务,右键打开属性,选中【登录】选项卡,登陆身份-》选中本地系统帐户 并 勾选允许服务与桌面交互,最后点确定,这样你的服务在启动后就可以看到界面了。

 

14、删除注册的服务

先停止服务,然后用命令"D:\DevSoft\srvany\instsrv.exe ReSharper2016 remove",即可删除服务。

15、当然如果是标准的服务式程序,可以直接用sc命令进行安装启动

 

posted @ 2017-06-07 16:05  离散音符  阅读(2915)  评论(0编辑  收藏  举报