用途:在本地 OpenClaw Companion 开发构建中演练真实(非仅 Inno Setup 安装)卸载流程,清理开发/测试状态,包括 WSL 网关发行版、WSL 内 openclaw CLI、gateway systemd 服务、Tailscale 状态和托盘 AppData 文件。OpenClaw.Tray.WinUI.exe 内嵌 SetupEngine,可直接接受 --uninstall,无需安装器,本地 dotnet 构建产物即可。
关键前提:必须用 -DevBuild 构建,否则 release 身份会注销真实 OpenClawGateway 发行版并改动 %APPDATA%\OpenClawTray 而非 -Dev 副本;构建后需校验 app-identity.txt 为 dev。若设置了 OPENCLAW_TRAY_DATA_DIR、OPENCLAW_TRAY_LOCALAPPDATA_DIR、OPENCLAW_TRAY_LOCAL_DATA_DIR、OPENCLAW_STATE_DIR 任一环境变量,应拒绝执行。停止进程只按 PID,并按解析后的 $exe 路径匹配 dev 实例。
用法:先跑 dry-run 并检查输出中的 Would rollback 步骤、--data-dir/--distro-name 是否为 OpenClawTray-Dev/OpenClawGateway-Dev;再用 wsl -l -v 检查真实状态。确认后以 --confirm-destructive 执行真实卸载。建议用 Start-Process -Wait -PassThru 捕获退出码。
限制与注意:该操作破坏性极强,可能 wsl --unregister 永久删除发行版文件系统,并在用户确认前需明确指出非一次性开发状态。TrayArtifactCleanup 与 WSL/网关回滚步骤不会删除 %APPDATA%\OpenClawTray[-Dev] 或 %LOCALAPPDATA%\OpenClawTray[-Dev] 根目录本身,断言根目录消失会误报失败;运行中日志与 journal 保留在 Logs\Setup 属正常。真实安装版应为 设置→应用→已安装的应用→OpenClaw Companion→卸载。本文仅用于开发清理或测试卸载引擎。