| 1 | # 恢复与诊断(v1.20+) |
| 2 | |
| 3 | Reasonix 不再提供产品化的 `reasonix-guard` 恢复壳。崩溃记录、pending 更新状态 |
| 4 | 和配置问题**不会**在下次启动时强制进入全局安全模式。 |
| 5 | |
| 6 | ## 请使用这些命令 |
| 7 | |
| 8 | ```text |
| 9 | reasonix doctor |
| 10 | reasonix doctor repair |
| 11 | reasonix crash report # 视构建是否包含而定 |
| 12 | ``` |
| 13 | |
| 14 | - **doctor**:检查配置、桌面派生状态与常见安装问题,不加载 Wails。 |
| 15 | - **doctor repair**:在用户明确选择后做安全修复。 |
| 16 | - 崩溃上报仍为用户授权后发送,且不会改变下次启动模式。 |
| 17 | |
| 18 | ## 安装布局(v1.20+) |
| 19 | |
| 20 | Windows / Linux 使用版本目录: |
| 21 | |
| 22 | ```text |
| 23 | InstallRoot/ |
| 24 | reasonix-launcher[.exe] |
| 25 | Reasonix.exe # Windows 便携/开始菜单别名 |
| 26 | reasonix[-cli.exe] |
| 27 | current.json |
| 28 | versions/<version>/ |
| 29 | reasonix-desktop[.exe] |
| 30 | reasonix-cli[.exe] |
| 31 | reasonix-update-helper[.exe] |
| 32 | ``` |
| 33 | |
| 34 | 薄启动器只读取 `current.json` 并启动当前 Desktop,**不会**自动选旧版本或进入 |
| 35 | 安全模式。 |
| 36 | |
| 37 | ## 从 1.18–1.19.x 升级 |
| 38 | |
| 39 | 若旧客户端卡在 pending update 或安全模式循环: |
| 40 | |
| 41 | 1. 从官方下载页获取最新签名安装包。 |
| 42 | 2. 直接覆盖当前安装(Windows:双击安装;macOS:替换 `Reasonix.app`)。不要先卸载: |
| 43 | 保留原安装根目录,兼容迁移程序才能证明遗留事务属于哪个安装。 |
| 44 | 3. 启动 Reasonix 一次,确认“设置 > 更新”显示的版本正确,再尝试下一次应用内更新。 |
| 45 | 4. 兼容载荷中可能仍带有名为 `reasonix-guard` 的**一次性迁移程序**,它只把旧平铺 |
| 46 | 布局写成 `current.json` 后自删除,并非旧 Guard 产品。 |
| 47 | |
| 48 | 正式恢复路径**不要求**手工删除 `pending-update.json`、锁文件或 AppData。 |
| 49 | |
| 50 | 如果 Windows 安装器显示 `Reasonix layout activation failed`,请展开安装详情并复制 |
| 51 | `Reasonix layout activator output:` 下方的内容。当前安装器会保留 activator 的具体错误, |
| 52 | 不再只显示 exit code 1。 |
| 53 | |
| 54 | ## macOS |
| 55 | |
| 56 | macOS 仍由 LaunchServices 直接启动 Wails App 包;更新原子替换签名 `.app`,无 |
| 57 | Guard 进程。 |
| 58 | |
| 59 | 替换后的窗口真正显示后,Reasonix 只会提交启动前捕获的精确 pending 事务。对于缺少 |
| 60 | 备份摘要、或备份已经丢失的旧事务,只有在确认当前运行程序确实属于目标 App 包后才会 |
| 61 | 自动退出该事务;仍存在但身份未知的备份和原事务会被归档保留,不会删除,也不会被当作 |
| 62 | 可信来源自动回滚。 |
| 63 |