One click and one UAC to the newest version β and the single file to read when it does not move.
| Your installed version | What to do |
|---|---|
| V6.1.0 or newer | Use the one-click path below. Nothing to prepare. |
| V6.0.10 or older | Those builds have no upgrade logic at all. Install a 6.1.x package once by hand; from then on one-click works. |
The installed version is read from version.txt inside the install directory. That file is the only authority β no version constant is compiled into the product.
U and press EnterAll three write the same request. Expect exactly one UAC prompt; everything else is automatic.
| # | Step | Notes |
|---|---|---|
| 1 | Read latest.json | The manifest. Unreadable β the launcher falls back to the hotfix manifest. |
| 2 | Decide | Downgrades are refused; versions below minSupported are asked to install a full package. |
| 3 | Download in the background | Never interrupts listening. SHA-256 verified, then atomically renamed. |
| 4 | PTT gate | Transmitting β the request is refused with 423. Release PTT and click again. |
| 5 | Stop, install, restart | Service stopped β one UAC β silent install β the installer starts the new version. |
| 6 | The new version confirms itself | The old launcher has already exited, so success is recorded by the new build at startup. |
%LOCALAPPDATA%\MRRC\updates\state.json β lastResult.status == "ok".
| status | Meaning | What you do |
|---|---|---|
ok | Installed and confirmed by the new build | Nothing |
installing | Silent installer started; the old launcher is leaving | Wait |
uac_denied | You declined the UAC prompt | Click Upgrade again and accept |
ptt_active | Refused because you were transmitting | Release PTT, click again |
sha_mismatch | Package failed verification and was discarded | Click again; nothing was installed |
download_failed | Network/timeout/permission; retried automatically | Wait, or click again |
missing_staged | Clicked before the download finished | Wait; the request is not lost |
install_failed | Installer failed, or version.txt did not change | Read updates\install-<ver>.log first |
Front-end files and patchable modules ship separately. On every start the launcher fetches patch.json and lays the files over %LOCALAPPDATA%\MRRC\patch\ β before the upgrade check, so a hotfix can even fix the upgrade path itself.
Restart MRRC to apply. Scope is explicit (www/**, loose app modules, vendor); anything else needs a release.
[UPDATE] enabled = False | No checks at all, hotfix included |
[UPDATE] autoDownload = False | Tell me there is a new version, do not pre-download |
MRRC_NO_UPDATE_CHECK=1 | Environment variable; overrides everything |
MRRC_UPDATE_MANIFEST=<url> | Point at a mirror or a test manifest without touching production |
Still stuck? Get the diagnostics bundle out β it already contains the version, the update state and the log tails.