Repository navigation
JavSP-fork v0.4.2
JavSP-fork v0.4.2
修复 v0.4.1 升级功能的两个缺陷(Windows 桌面版实测暴露)。
未使用 v0.4.1 升级功能的用户不受影响;已升级或正准备升级的,请直接用本版本。
🐛 修复一:更新提示条不显示版本号
现象:提示「发现新版本 v」,版本号是空的。
根因:前端取错了数据层级。更新接口把版本详情放在 info 里(版本号字段为 info.latest),而提示组件读的是顶层 latest —— 顶层只有 available / frozen / container 这类状态位,版本号根本不在那儿。
现在会正确显示成「发现新版本 v0.4.2(当前 v0.4.1)」。
🐛 修复二:点了「立即升级」并没有真正升级
现象(比较迷惑):安装包确实下载到了程序目录下的 update/,主程序也退出了,但目录里还是旧版本,手动再打开 exe 依然是老版本。
根因:启动升级助手进程时用了 DETACHED_PROCESS | CREATE_NEW_PROCESS_GROUP 这个组合。该组合下 PowerShell 进程能起来、脚本却不执行 —— 连它自己的第一行日志都不写,全程静默失败,所以表面上看不出任何异常。
实测了 6 组启动参数:
| 启动方式 | 结果 |
|---|---|
| 无特殊标志 | 正常执行 |
| 无特殊标志 + 隐藏窗口 | 正常执行 |
DETACHED_PROCESS | CREATE_NEW_PROCESS_GROUP |
不执行 |
DETACHED_PROCESS | CREATE_NEW_PROCESS_GROUP + 隐藏窗口 |
不执行 |
CREATE_NO_WINDOW |
正常执行 |
CREATE_NO_WINDOW + 隐藏窗口 |
正常执行 |
已改用 CREATE_NO_WINDOW —— 既隐藏控制台窗口,又能真正执行。
配套加固:
- 新增「助手是否真的跑起来」的观察信号(以助手写入的第一行日志为准),便于区分"已启动但失败"和"压根没启动";
- 主进程退出延时由 1.5 秒放宽到 3 秒,避免观察还没完成主进程就退了;
- 升级助手的日志改为 UTF-8 写入(此前用 PowerShell 5.1 默认的 ANSI,中文日志是乱码,不利于排查)。
验证:用模拟旧目录 + 模拟升级包做了端到端演练,主进程硬退出后助手独立完成替换 —— 新版就位、config.yml 与 JavSP.log 原样保留、.bak 备份生成。
📦 下载与校验
| 资产 | 用途 |
|---|---|
JavSP-0.4.2-windows.zip |
Windows 桌面版,解压即用(exe 同级便携) |
javsp-fork-0.4.2-image.tar.gz |
Docker 镜像,docker load -i 后重启容器 |
javsp-fork-0.4.2.sha256 |
上述两个文件的 SHA-256 校验值 |
⚠️ 升级说明
- Windows:v0.4.0 及以上在界面顶部点「立即升级」即可自动完成(配置自动保留)。v0.4.1 用户若在上一版遇到"点了没反应",用本版本再点一次即可正常升级。
- Docker:
docker load -i javsp-fork-0.4.2-image.tar.gz后docker restart javsp;配置文件挂在容器外,不受影响。