Windows服务注册实现开机自启动。

第一种是通过启动文件夹方式,具体如下:

  1. 编写 bat 脚本
  2. 复制到 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup​ 路径下

此方式有个问题是:并不是系统启动就执行,而是需要用户登录后才执行。

第二种是将程序注册为服务,目前使用的是WinSW实现,具体用法如下:

  1. 下载可执行程序,一般下载64位的zip包
  2. 编写启动服务的xml,例如:
1
2
3
4
5
6
7
8
9
<service>
  <id>frpc</id>
  <name>frpc</name>
  <description>frpc service</description>
  <executable>D:\software\frp\frpc.exe</executable>
  <arguments>-c D:\software\frp\frpc.ini</arguments>
  <log mode="reset"></log>
  <logpath>D:\software\frp\logs</logpath>
</service>
  1. 执行命令进行服务注册及启动
1
2
3
4
5
6
7
8
# 服务注册
.\WinSW.exe install .\frpc.xml

# 服务启动
.\WinSW.exe start .\frpc.xml

# 服务状态
.\WinSW.exe status .\frpc.xml