Winboat install.bat 逐行拆解:一个脚本如何装好两个 Windows 服务

发布时间:2026/10/31 0:37:01

Winboat install.bat 逐行拆解:一个脚本如何装好两个 Windows 服务 Winboat install.bat 逐行拆解一个脚本如何装好两个 Windows 服务【免费下载链接】winboatRun Windows apps on Linux with ✨ seamless integration项目地址: https://gitcode.com/GitHub_Trending/wi/winboatWinboat 让你在 Linux 桌面上直接运行 Windows 应用。但有个绕不开的问题跑着跑着 Windows 虚拟机重启了Linux 侧的窗口全掉线手动进虚拟机点半天才能恢复。install.bat 就是为消灭这件事而生的它在 Windows 端把后台服务、开机自启、端口放行一次性装好之后每次开机Linux 侧的应用都能自己连回来。install.bat 执行顺序双击后依次发生的 5 件事先说清楚它在哪运行这个脚本跑在 Windows 虚拟机里素材来自C:\OEM目录WinBoat 部署时把待装文件放进来的约定位置整个流程全自动、不需要你点确认。按顺序看它干了什么。第 1 步导入一份放宽远程桌面的注册表配置 ️接下来这一行做的事是把一份 .reg 文件写进系统注册表reg import %OEM_DIR%\RDPApps.regRDPApps.reg 的内容拆开看就三件事关闭 RemoteApp 白名单——默认 RDP 只允许白名单里的应用关掉后 Winboat 才能远程拉起任意 Windows 程序允许未列入清单的程序——与上一条配套跟随服务器端键盘布局——避免远程会话弹出奇怪的键盘设置不写这步Linux 侧的应用菜单点了也没反应RDP 根本拉不起程序。第 2 步建安装目录先让 Windows Defender 闭嘴建目录本身很简单真正关键的是紧跟的一句 PowerShellpowershell -ExecutionPolicy Bypass -Command Add-MpPreference -ExclusionPath %WB_DIR%安装目录被加进 Defender 的排除列表。为什么服务程序即将被高频读写实时扫描会拖慢启动甚至锁文件导致安装半途失败。先排除、再拷文件顺序不能反。第 3 步把 OEM 目录整体拷进安装位置xcopy %OEM_DIR%\* %WB_DIR%\ /Y /E/Y是覆盖时不再询问/E是连空目录也一并复制。落地的是几样东西server\服务本体、updater\更新服务、guest_tokenLinux↔Windows 之间的身份凭证、以及 nssm.exe——下一位主角。第 4 步用 NSSM 注册并启动两个系统服务 ️这是整个脚本的心脏。NSSM 是一个能把普通 exe 伪装成系统服务的命令行工具——注册之后这个 exe 就出现在服务管理器里能被系统托管、崩溃自动拉起、开机自启。%NSSM% install WinBoatGuestServer %WB_DIR%\server\winboat_guest_server.exe %NSSM% set WinBoatGuestServer Start SERVICE_AUTO_START %NSSM% set WinBoatGuestServer ObjectName NT AUTHORITY\SYSTEM第一行把 exe 注册为服务从此它归 Windows 服务管理器管SERVICE_AUTO_START开机自动启动NT AUTHORITY\SYSTEM 以系统账户运行用户没登录、屏幕锁着也能工作第二个服务WinBoatGuestServerUpdater配一套同样的动作负责后文会提到的更新。第 5 步放行两个端口然后点火netsh advfirewall firewall add rule nameAllow WinBoat API 7148 dirin actionallow protocolTCP localport7148两条 netsh 分别放行 TCP7148API 端口和7150更新端口然后nssm start把两个服务拉起来。脚本最后还挂了一个开机任务schtasks /create /tn TimeSyncTask /sc ONSTART ...time-sync.bat 在每次开机时把虚拟机时钟与宿主机对齐——Windows 虚拟机重启后时钟漂移不同步的话时间戳校验和日志都会乱套。到这里一条时间线走完了调注册表 → 建目录并排除杀毒 → 拷文件 → 注册并启动服务 → 放行端口 → 挂开机任务。之后无论虚拟机怎么重启Linux 侧都会自己连回来。为什么非要把 exe 注册成 Windows 服务 普通 exe 双击运行生命周期跟当前登录用户绑定注销就没了没人登录就不跑。而 WinBoat 的 guest server 要干的事恰恰相反——它必须在开机瞬间、无人登录时就监听 7148 端口等着 Linux 侧来连。服务形态天然满足不依赖任何会话、由系统统一调度和看门。用 NSSM 而不是自己写服务代码是因为一个真正的服务要跟服务控制管理器SCM对话应答暂停/停止、上报状态、崩溃后按策略重启。这些协议自己实现又是一门苦差事NSSM 把 exe 包成合规服务一行 install 搞定。代价是目录里多一个 nssm.exe——它的完整性可以用 nssm.sha1.txt 里的f280858dcfefabc1a9a006a57f6b266a5d1fde8e校验对不上说明文件被动过。放行 7148 端口的逻辑为什么非加不可 Windows 防火墙的入站策略默认是全禁Linux 客户端连不进来十有八九不是服务没起而是端口被拦。所以 netsh 这条规则不是可选项7148对应 Linux 侧 constants.ts 中的GUEST_API_PORT是应用列表、文件访问等所有 API 的入口7150GUEST_UPDATE_PORT更新通道专门给 updater 服务收包用两条规则都限定了protocolTCP只开该开的那两个口其余保持 Windows 默认收紧——放得开、也放得克制。服务起不来 / 端口不通时怎么查按从 Windows 侧往 Linux 侧的顺序排障基本能覆盖所有情况先查服务在不在在 Windows 里执行sc query WinBoatGuestServer。提示服务不存在说明 install.bat 没跑完重新触发即可STATERUNNING则继续下一步。本地健康检查在 Windows 里访问http://127.0.0.1:7148/healthupdater 代码里自己探活用的就是这个地址正常会返回{status:ok}。本机通、Linux 不通 → 查防火墙netsh advfirewall firewall show rule nameAllow WinBoat API 7148规则丢了就重跑第 5 步那条 netsh。服务反复退出 → 看文件完整性检查C:\Program Files\WinBoat\server目录是否齐全缺文件就重跑 install.bat/Y参数会直接覆盖旧文件。哪些变量可以改 WB_DIR默认C:\Program Files\WinBoat理论上可改但服务路径、Defender 排除项全都引用它改了等于推倒重装不折腾最好不动。OEM_DIR固定C:\OEM这是 WinBoat 部署流程的约定输入别动。更新不用改脚本日常升级走第二个服务——updater 监听 7150 接收 zip 包停旧服务、替换文件、重启并健康检查失败自动回滚。注意 updater 本体永不更新它是更新链条的根只能靠整个镜像重做。一句话收尾整条链路里 Linux 侧负责容器、RDP 会话和应用窗口Windows 侧的全部工作浓缩在这 40 来行批处理里常驻服务、开机自启、端口放行一次装齐。虚拟机重启后你的 Linux 桌面还能秒连 Windows 应用功劳都在这条时间线上。【免费下载链接】winboatRun Windows apps on Linux with ✨ seamless integration项目地址: https://gitcode.com/GitHub_Trending/wi/winboat创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/31 0:36:07

MaxKB 安装与上手指南:10 分钟从零跑通企业级智能体平台

MaxKB 安装与上手指南:10 分钟从零跑通企业级智能体平台 【免费下载链接】MaxKB 🔥 MaxKB is an open-source platform for building enterprise-grade agents. 强大易用的开源企业级智能体平台。 项目地址: https://gitcode.com/GitHub_Trending/ma/M…

2026/10/31 0:35:50

基于SpringBoot与Vue.js的线上教育平台全栈开发实战

简介:这是一套基于SpringBootVue.js全栈开发的线上教育培训办公系统,面向教育机构开发者、高校计算机专业师生及在线教育平台创业者,解决远程教学场景中课程管理、直播互动、作业考评与多角色协同等核心需求。资源包共871个文件,涵…

2026/10/31 0:27:46

C#+Halcon机器视觉框架源码:从模块化设计到落地避坑实践

简介:这套C#与Halcon混合编程的机器视觉框架源码,面向视觉检测与自动化设备开发者,覆盖AOI视觉检测、机械手定位、点胶机、插件机、激光切割机、视觉螺丝机、贴合机、激光焊接机、视觉裁板机等典型场景,可用于快速验证和落地视觉项…

2026/10/31 0:27:46

AI提示流编排器的运行时看门狗与死循环熔断器

1. 项目概述:为什么一个“提示流编排器”需要看门狗和熔断器?你有没有试过让一个AI Agent去查天气、订咖啡、再把结果发到飞书群——结果它卡在“查天气”这一步,反复调用同一个API十几次,每秒发起3个请求,半小时后账单…

2026/10/31 0:27:46

模型驱动+五大SubAgent:重构企业应用交付的信任基线

1. 这不是“又一个AI开发框架”,而是企业级应用交付链路的重构我第一次在客户现场听到“用模型驱动五大SubAgent跑通企业应用开发”这句话时,正蹲在机房角落调试一台卡顿的YonCode低代码平台节点。客户CTO一边盯着后台日志里反复出现的SubAgent: DataSch…

2026/10/31 0:27:46

家庭全能服务机器人技术架构与商业应用解析

1. 家庭全能服务机器人商业价值解析家庭全能服务机器人作为智能家居领域的集大成者,正在重塑现代家庭的生活方式。这类产品本质上是一个融合了环境感知、决策计算和机电控制的复杂系统,通过模块化设计实现清洁、安防、陪伴、教育等复合功能。从商业角度看…

2026/10/31 0:22:45

AI Skill数据接入实战:scripts、CLI与MCP三种接口方案怎么选

我这儿连续几周被同一个问题找上门:AI Skill装好了,也能像模像样聊天,但一问到具体数据就哑火。上周帮人排查一个AI备课Skill,它能生成教案、能列大纲,唯独查不了"本班学生上次测试的成绩分布"。打开运行时日…

2026/10/31 0:22:45

大模型半成品发布:前沿AI实验室的动态验证范式

1. “半成品发布”不是bug,是前沿模型实验室的生存策略“前沿模型实验室可发布半成品”——这句话乍看像一句吐槽,甚至带点讽刺意味。但如果你在AI基础设施、大模型研发或开源社区摸爬滚打过三年以上,就会立刻听懂它背后那层沉甸甸的行业现实…

2026/10/30 20:55:10

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/30 20:55:10

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/30 20:55:09

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/31 0:02:41

猫狗目标检测数据集:VOC/COCO/YOLO三格式一体化实战包

简介:本资源是一套面向计算机视觉初学者与YOLO目标检测实践者的猫狗图像数据集及配套开发工具包,专为快速上手目标检测模型训练而设计。资源包含1000张真实场景高清猫狗图片,标注质量高,同时提供VOC(XML)、…

2026/10/31 0:02:41

HDU2017多校标程复现:算法竞赛工程化真题沙盒

简介:本资源为2017年HDU多校联合训练第一场官方配套资料,面向ACM程序设计竞赛备赛学生、算法爱好者及高校编程集训队成员,旨在提供权威解题参考与完整测试验证环境。压缩包共40个文件,含15份C标程(覆盖全部赛题&#x…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑