点一下、过一次 UAC 就到最新版;升不动的时候,该看哪一个文件。
| 你装的版本 | 该怎么做 |
|---|---|
| V6.1.0 及更新 | 直接用下面的一键升级,不需要任何准备。 |
| V6.0.10 及更早 | 那些版本根本没有升级逻辑。手工装一次 6.1.x 的包,之后一键升级才开始可用。 |
装的是哪个版本,只看安装目录里的 version.txt。它是唯一权威——产物里没有任何编译进去的版本常量。
U回车三条路写的是同一个请求。全程只会弹一次 UAC,其余自动。
| # | 动作 | 说明 |
|---|---|---|
| 1 | 读 latest.json | 清单读不到时,退回热修清单的旧行为 |
| 2 | 决策 | 拒绝降级;低于 minSupported的版本会被要求装完整包 |
| 3 | 后台下载 | 绝不打断收听。SHA-256 校验通过后原子改名 |
| 4 | PTT 门禁 | 正在发射就拒绝,返回 423;松开 PTT 再点 |
| 5 | 停服务、装、起 | 停掉服务子进程 → 一次 UAC → 静默安装 → 安装器拉起新版 |
| 6 | 新版自己确认 | 老启动器升级时已经退出,成功由新版在启动时记录 |
%LOCALAPPDATA%\MRRC\updates\state.json里的 lastResult.status == "ok"。
| status | 含义 | 你该做什么 |
|---|---|---|
ok | 已安装,并由新版确认 | 不用管 |
installing | 静默安装已启动,老启动器正在退出 | 等 |
uac_denied | 你拒绝了 UAC | 再点一次,并允许 |
ptt_active | 正在发射,被拒 | 松开 PTT 再点 |
sha_mismatch | 安装包校验失败,已丢弃 | 再点一次;什么都没装进去 |
download_failed | 网络 / 超时 / 权限,已自动重试 | 等一会儿,或再点一次 |
missing_staged | 包还没下完就点了 | 等一下;请求不会丢 |
install_failed | 安装器失败,或 version.txt没更新 | 先看 updates\install-<版本>.log |
前端文件和可热修的模块单独下发。每次启动时启动器拉 patch.json,把文件覆盖到 %LOCALAPPDATA%\MRRC\patch\,而且发生在升级检查之前——所以热修连升级路径本身都能修。
重启 MRRC 即生效。范围是明确的(www/**、散装应用模块、vendor),其余一律随版本发布。
[UPDATE] enabled = False | 完全不检查,热修也不再拉 |
[UPDATE] autoDownload = False | 只提示有新版,不后台预下载 |
MRRC_NO_UPDATE_CHECK=1 | 环境变量,覆盖一切 |
MRRC_UPDATE_MANIFEST=<url> | 指向镜像或测试清单,不动生产 |