分类
Windows

使用WinWS创建服务

使用Windows中,有些工具或软件需要开机前启动,比如Frp,开机启动VMWare虚拟机系统。之前一直用Window的计划任务,即使在系统用户未登录的情况下也能实现启动,直到发现了WinWS,现在已把要启动的EXE或脚本做成服务,实现启动与管理。

WinWS是开源的,使用简单,先在GitHub下载:

https://github.com/kohsuke/winsw/releases

Win10选择WinSW.NET461,低版本系统如Win7选择NET4,XP选择NET2。如果本机没有.NET框架的可以下载带.NET的版本。再下载sample-minimal.xml配置文件。

我下载的是WinSW.NET461.exe。把下载的WinSW.NET461.exe和sample-minimal.xml重命名,保持名字一致,如改成winsw.exe和winsw.xml。

用记事本编辑winsw.xml配置:

配置项说明

id:指定在Windows系统内部使用的识别服务的ID。在系统中安装的所有服务中必须是唯一,它应该完全由字母数字字符组成。

name:服务的简短名称,它可以包含空格和其他字符。

description:该服务可读描述。当选中该服务时,它将显示在Windows服务管理器中。

executable:该元素指定要启动的可执行文件。它可以是绝对路径,也可以指定可执行文件的名称,然后从环境变量“PATH”中搜索(需要注意的是,服务经常在不同的用户账户中运行,因此它可能需要有不同于你设置在环境变量Path中的路径)。

arguments:启动参数,可选。

然后用超级管理员进入PowerShell,切换到winsw.exe目录,执行:

winsw.exe install

即可安装服务。

在“运行”或PowerShell输入service.msc,打开服务管理,可以看到刚添加的服务:

这样就能开机启动了。

WinSW启动参数还有unstall、start、stop、restart等。

winsw.xml的配置,下载的示例配置文件有详情说明,更多配置参数下载sample-allOptions.xml,每行都有详情说明。

发表评论

电子邮件地址不会被公开。