desktop install: stop the running app by exact path, check the installed exe's real version, verify it opened

This commit is contained in:
CRTkafa 2026-10-23 15:57:31 +07:00
parent a01c78aa20
commit 8f69a27709
6 changed files with 249 additions and 9 deletions

View file

@ -1350,3 +1350,17 @@ that fails without the fix (see CONTRIBUTING.md).
- **Guard:** `cli/lib/loc-lock.ts` reads the localization `state` (IAP, subscription and group localizations) and treats
a 409 UNMODIFIABLE the same way; one IAP failing no longer stops the others (results at the end, exit 1).
`tests/price-limits-locked-loc.test.ts` (fake ASC answers the 409 for APPROVED / ACTIVE localizations).
## 113. `storebound desktop` said "installed" and "opened", but the old app stayed and no window came
- **What happens:** on Windows the silent installer ran while storebound desktop was still running (often hidden in
the tray from the logon entry). The exe was locked, so the files stayed at the old version, while the uninstall
registry entry already showed the new one. The version check started the GUI exe with `--version`, read nothing
and went on; "opened" was printed without looking whether a window process started.
- **Do:** let `storebound desktop` stop the running app first (it does now, only processes started from the exact
install path: a graceful close, then by PID after 10 s). If it still says the installed app is the old version,
close storebound desktop in the tray and run it again. If it says it did not open, read the `host.log` it names.
- **Guard:** `cli/lib/desktop-proc.ts`: the exact-path process match, the PE version resource of the installed exe
(never the registry `DisplayVersion`), Info.plist on macOS, the AppImage's `--version` on Linux; a mismatch fails
with what was found. Opening waits up to 15 s for a non-`--hidden` process from the installed path
(`tests/desktop-proc.test.ts`).