winsw服务封装程序体验
winsw服务封装程序体验
周末抽时间搭建frp内网穿透服务,frps直接提供systemd脚本,部署和管理一步到位。windows客户端部署之后需要手动用命令行启动,在开机后不能人为干预的情境下无法满足需求,所以在网络上搜索一番选择了WinSW
winsw介绍
访问winsw的github页面[1]了解到,winsw可以将任何应用程序包装和管理为一个Windows服务。它要求.NET Framework 4.6.1
及以上支持,还可以选择基于.Net Core
的封装版本。winsw使用MIT License
,非常容易在商业应用程序中使用。
winsw使用
winsw依赖xml格式的配置文件对需要包装的程序进行描述。下面是将frpc包装为一个服务的配置示例:
1 |
|
winsw的角色有两种方式:
- winsw作为全局工具。
这个我没有配置成功,winsw始终提示需要同名配置文件
1 |
|
- winsw作为捆绑工具。
将winsw.exe改名为frpc-service.exe,并将frpc的服务描述文件命名为frpc-service.xml。使用管理员启动命令行执行frpc-service.exe install
即可安装服务。
总结
总的来说winsw配置简单,xml描述性强,可以满足frpc配置为服务的需求。不依赖.Net框架的版本最大可达35MB,还是比较大,frpc本身只有9.4MB。总的来说使用体验优秀,仍然是一款好工具。
参考
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!