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

所属分类: 软件教程 / 其他工具 阅读数: 863
收藏 0 赞 0 分享

srvany.exe介绍

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

资源下载

你可以通过下载并安装Microsoft Windows Resource Kits 获得或者直接在本文下载。

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

  srvany 打包下载地址 测试程序,测试程序(含控制台项目)

如何使用

当你获取到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 封装了安装服务的操作(上面有提到)。需要传入参数有服务名称,程序名称。

@echo off
rem 参数依次为 服务名称 可执行文件名称
@echo 服务名称:%1
@echo 程序名称:%2

rem 定义需要运行的程序路径
set curExe=%~dp0%2
rem 定义注册表路径
set regpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService\Parameters\
rem 定义srvany.exe文件路径
set sourcePath=%~dp0srvany.exe

rem 进入当前目录
cd /d "%~dp0"
rem 安装引导服务
instsrv %1  "%sourcePath%"
@echo 服务添加完成

rem 添加注册表语法: reg add 注册表路径 /v 项名称 /t 值类型 /d 数据 /f 表示强行修改不提示

rem 名称 Application 值为你要作为服务运行的程序地址 /d对应的参数有斜杠不是为了转义引号,而是路径还有斜杠,默认将引号转义了,额外添加斜杠是为了保留引号
reg add %regpath% /v AppDirectory /t REG_SZ /d "%~dp0\" /f

rem 名称 AppDirectory 值为你要作为服务运行的程序所在文件夹路径
reg add %regpath% /v Application /t REG_SZ /d "%curExe%" /f 

rem 名称 AppParameters 值为你要作为服务运行的程序启动所需要的参数
reg add %regpath% /v AppParameters /t REG_SZ /f
@echo 注册表添加完成

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

@echo off
cd /d %~dp0
call run-install.bat  MyService Console.exe
pause

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

@echo off
rem 参数依次为 服务名称
@echo 服务名称:%1

rem 进入当前目录
cd /d %~dp0
rem 卸载引导服务
instsrv %1 remove

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

@echo off
cd /d %~dp0
call run-del.bat  MyService
pause

总结

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

更多精彩内容其他人还在看

百度女神卡怎么申请 百度女神卡申请教程

很多朋友不清楚百度女神卡怎么申请?下面小编给大家带来百度女神卡申请教程,需要的朋友可以参考下
收藏 0 赞 0 分享

CST Studio Suite2015安装及破解详细图文教程

近日,有网友咨询小编CST2015如何安装?今天脚本之家小编就给大家带来CST Studio Suite2015安装及破解图文教程,非常详细,需要的赶紧去看看吧
收藏 0 赞 0 分享

乐视视频小乐卡资费划算吗?中国电信携手乐视推视频免流卡套餐详情介绍

中国电信联合乐视视频推出了全新的免流卡套餐——乐视视频小乐卡。那究竟小乐卡套餐可以为我们带来怎样的优惠呢?电信小乐卡怎么收费的?乐视视频小乐卡套餐划算吗?下面我们就一起来了解
收藏 0 赞 0 分享

BarTender条码设计怎么移动对象?

BarTender条码设计怎么移动对象?BarTender设计条码的时候,发现条码的位置不对,想要移动一下,该怎么移动呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

BarTender条码制作软件怎么使用对象分组功能?

BarTender条码制作软件怎么使用对象分组功能?BarTender设计条码的时候需要使用很多命令,今天我们就来看看分组命令的使用方法,需要的朋友可以参考下
收藏 0 赞 0 分享

聚力卡划算吗?电信推出聚力视频免流卡套餐资费详情介绍

中国联通推出了不少套餐优惠的手机卡,腾讯王卡,蚂蚁宝卡、微博微卡等,让用户获得了实惠。而昨日电信一下子联合不少视频网站也推出了五款专属优惠卡,其中电信就和PPTV视频联合合作推出了一款聚力卡,聚力卡划算吗?本文带来电信推出聚力视频免流卡套餐资费详情介绍
收藏 0 赞 0 分享

爱奇艺爱享卡多少钱?电信牵手爱奇艺视频推出爱享卡套餐资费详情介绍

中国联通推出了不少套餐优惠的手机卡,比如,腾讯王卡,蚂蚁宝卡、微博微卡等,让用户获得了实惠。而就在昨日电信一下子联合不少视频网站也推出了五款专属优惠卡,其中电信就和爱奇艺视频联合合作推出了一款爱享卡,爱奇艺爱享卡多少钱?本文带来爱享卡套餐资费详情介绍
收藏 0 赞 0 分享

天翼视讯看看卡怎么样?中国电信天翼视讯免流手机卡套餐资费详情

日前,中国电信推出了一款号称“资深剧迷必备”的天翼视讯看看卡,那么天翼视讯看看卡多少钱?天翼视讯看看卡怎么样?天翼视讯看看卡划算吗?下面带来中国电信天翼视讯免流手机卡套餐资费详情,一起来了解下
收藏 0 赞 0 分享

今日头条关心卡划算吗?电信头条关心卡套餐资费介绍

中国电信今天更是联合乐视视频、PPTV聚力视频、爱奇艺、天翼视讯、今日头条,一口气推出了五张不同的免流卡,那么今日头条关心卡多少钱?今日头条关心卡划算吗?本文带来电信头条关心卡套餐资费介绍
收藏 0 赞 0 分享

steam怎么使用银联支付 steam银联支付教程

很多朋友不清楚steam怎么使用银联支付?下面小编给大家带来steam银联支付教程,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多