当前位置: 移动技术网 > 科技>软件教程>新手入门 > 使用srvany.exe将程序安装成windows服务的详细教程(附bat程序)

使用srvany.exe将程序安装成windows服务的详细教程(附bat程序)

2017年09月24日  | 移动技术网科技  | 我要评论
使用srvany.exe将程序安装成windows服务的详细教程(附bat程序)

srvany.exe介绍

srvany.exe是microsoft windows resource kits工具集的一个实用的小工具,用于将任何exe程序作为windows服务运行。也就是说srvany只是其注册程序的服务外壳,这个特性对于我们来说非常实用,我们可以通过它让我们的程序以system账户启动,或者实现随机器启动而自启动,也可以隐藏不必要的窗口,比如说控制台窗口等等。

资源下载

你可以通过下载并安装microsoft windows resource kits 获得或者直接在本文下载。

  示例中的控制台程序仅仅是向当前路径不停的写入时间。

   测试程序,测试程序(含控制台项目)

如何使用

当你获取到srvany后并决定将某程序作为服务启动后,请先将srvany安装为系统服务,具体的安装方法有很多,这里使用instsrv,语法如下:

 安装 instsrv servicename c:\windows\system32\srvany.exe
 卸载 instsrv servicename remove 或者 sc delete servername

移动技术网补充:如果服务名中间有空格需要用双引号例如 sc delete "server name"


  (servicename 即你自己定义的服务名称,可以是要作为系统服务启动的应用程序的名称。)

安装完毕后,我们需要对srvany.exe进行配置,以便于能够加载我们指定的程序,配置的方法是,开始 - 运行 - regedit,打开注册表,定位到下面的路径。hkey_local_machine\system\currentcontrolset\services\servicename
  如果该服务名下没有parameters项目,则对服务名称项目右击新建项,名称为parameters,然后定位到parameters项,新建以下几个字符串值。

  名称 application 值为你要作为服务运行的程序地址。
  名称 appdirectory 值为你要作为服务运行的程序所在文件夹路径。
  名称 appparameters 值为你要作为服务运行的程序启动所需要的参数。

比如这里是个配置实例,我们这里配置的服务名称是myservice,下面是myservice的安装配置情况:



至此,myservice已经安装成windows服务了,在window服务项中即可查看。

 本文当然不会仅仅是照搬文章,最近在学习批处理,将其中的操作使用批处理来完成。

批处理说明

1. run-install.bat 封装了安装服务的操作(上面有提到)。需要传入参数有服务名称,程序名称。

2.install.bat 命令含义:进入当前目录,调用当前目录下的run-install.bat文件,并传入参数,完成服务安装。服务名:myservice 执行程序:console.exe

3.run-del.bat 简单封装了卸载服务的操作,传入服务名称即可。

4.del.bat 命令含义:进入当前目录,调用当前目录下的run-del.bat文件,并传入参数,完成服务卸载。服务名:myservice

总结

  1.按照以上操作即可轻松将程序添加到系统服务中去。
  2.使用场景为,该程序需要开机启动,而且是在window未登录的情况下。(常规的开机启动应用程序需要输入机器用户名、密码进入到桌面后才启动)
  3.将程序部署成服务后,该程序依然可以双击启动,如果不需要,建议将程序中添加命令行参数判断来禁止双击启动该程序。
  4.在服务的属性中,可以设置其与桌面进行交互,此时window会提示交互式消息提示,点击后即可显示程序窗体。
   5.如果你的程序是做成安装包,调用安装服务的批处理和调用卸载服务的批处理,则可以放在安装程序和卸载程序的时候去执行,简化用户操作。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网