将任意exe安装成Windows服务
|
admin
2024年3月29日 23:26
本文热度 510
|
背景
最近有个需求,需要实现将任意exe安装成window service
。
Windows服务是指Windows操作系统中的一种运行在后台的计算机程序,类似于Unix守护进程。
实现效果
1、启动Exe。
2、需要输入3个地方:
服务名称,这里输入了test
选择要转换成服务的执行程序路径
如果有参数,则输入相关参数
3、点击安装,即可。
4、效果如下,可以看到服务已经安装。
5、点击卸载按钮,即可删除服务。
实现原理
其实很简单,基于Instsrv.exe
和srvany.exe
实现。
打开注册表,能看到其写入的内容。
分解动作,以下步骤进行操作:
下载Instsrv.exe和srvany.exe:
Instsrv.exe
和srvany.exe
是Windows Resource Kit工具中的一部分,你可以从Microsoft官方网站下载并安装Windows Resource Kit工具包。
使用Instsrv.exe安装服务:
将你的exe文件和srvany.exe
放在一个目录下,比如C:\\YourService
.
打开命令提示符(以管理员权限运行)。
使用以下命令来安装服务:
instsrv YourServiceName "C:\\YourService\\srvany.exe"
其中,YourServiceName
是你要为服务指定的名字,C:\\YourService\\srvany.exe
是srvany.exe的路径。
配置srvany服务:
使用注册表编辑器(regedit)打开注册表。
导航到HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\YourServiceName\\Parameters
。
在Parameters
键下创建一个新的字符串值,命名为Application
,并将其值设置为你的exe文件的完整路径,比如C:\\YourService\\your_exe_file.exe
。
可以在Parameters
键下创建其他参数,比如AppDirectory
指定工作目录等。
启动和管理服务:
通过以上步骤,你就可以使用Instsrv.exe
和srvany.exe
将一个exe文件安装为Windows服务。
提供一个完整的执行包
百度网盘链接: https://pan.baidu.com/s/1Djgkhc1MJ_K6U6dVXy3mMA?pwd=ja2q
该文章在 2024/3/29 23:26:08 编辑过