Windows将FRP设置为服务并开机自启3-new
### 1.此处需要使用到winsw 下载地址: <https://github.com/kohsuke/winsw/releases>
### 2.下载解压至任意目录并CD进入;
![d91bb76fd9fa75f54f348e90d3c8f941.png](resources/8FACF3BCE82137F332513D3A2420B3E5.png)
![[resources/8FACF3BCE82137F332513D3A2420B3E5.png]](assets/resources/8FACF3BCE82137F332513D3A2420B3E5.png)
### 这里将下载WinSw.Net4.exe重命名为winsw.exe了,以方便后面操作;
### 3.创建与winsw同名的配置文件,后缀为xml
### 此处以配置FRP客户端为例:
- <service>
- <!-- 该服务的唯一标识 -->
- <id>frp</id>
- <!-- 该服务的名称 -->
- <name>frp0.27.1-windows-amd64</name>
- <!-- 该服务的描述 -->
- <description>frpc客户端 这个服务用 frpc 实现内网穿透</description>
- <!-- 要运行的程序路径 -->
- <executable>D:\Software\frp\frp_0.27.1_windows_amd64\frpc.exe</executable>
- <!-- 携带的参数 -->
- <arguments>-c frpc.ini</arguments>
- <!-- 第一次启动失败 60秒重启 -->
- <onfailure action="restart" delay="60 sec"/>
- <!-- 第二次启动失败 120秒后重启 -->
- <onfailure action="restart" delay="120 sec"/>
- <!-- 日志模式 -->
- <logmode>append</logmode>
- <!-- 指定日志文件目录(相对于executable配置的路径) -->
- <logpath>logs</logpath>
- </service>
### 4.开始使用
- //注册服务
- winsw.exe install
- //卸载服务
- winsw.exe uninstall
- //启动服务
- winsw.exe start
- //停止服务
- winsw.exe stop
- //重启服务
- winsw.exe restart
- //查看状态
- winsw.exe status
### ![](resources/B55F5773407AC131BF986865347E1729.png)
![[resources/B55F5773407AC131BF986865347E1729.png]](assets/resources/B55F5773407AC131BF986865347E1729.png)
### 5.不出意外的话打开任务管理器就能看到刚刚添加的服务了
![c7b2e47de56b2e31b665d2169c7d6e9c.png](resources/F0DC07FE3B36D34158377ABEF90142A4.png)
![[resources/F0DC07FE3B36D34158377ABEF90142A4.png]](assets/resources/F0DC07FE3B36D34158377ABEF90142A4.png)
从服务里面看 可执行文件的路径是:"D:\\Software\\frp\\frp\_0.27.1\_windows\_amd64\\winsw"
实际是 winsw.xml 中 executable 中的路径 不影响功能
注意事项:1.注册服务时如果被某60拦截了需要点允许,如果提示:FATAL - WMI Operation failure: AccessDenied 则需要以管理员方式运行CMD再试;
2.中间遇到了另外一个错误但是忘记截图了;
就是创 建xml文件的时候不能用window自带的新建去创建winsw.xml文件,用EditPlus或者其他编辑器软件创建的xml才能正确解析