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

@ -490,6 +490,12 @@ The CLI and the app are one product: one version number, one set of store accoun
starts silently in the tray, without a window. Closing the window keeps it running in the tray; the tray icon
opens it, the tray menu's Quit (macOS: Cmd+Q) quits. Turn the logon entry off in the OS (Windows: Settings > Apps >
Startup). Window state never restores "visible", so a `--hidden` start stays hidden.
- **`storebound desktop` install / update**: before the installer runs it stops the running app (only processes
started from the exact install path: `%LOCALAPPDATA%\storebound\storebound-desktop.exe`,
`storebound.app/Contents/MacOS/storebound-desktop`, the AppImage; a graceful close, then by PID after 10 s). After the
install it reads the real version of the installed files (Windows: the exe's PE version resource, never the
registry entry; macOS: Info.plist; Linux: `--version`) and fails on a mismatch. "opened" is printed only when a
process without `--hidden` runs from the installed path within 15 s; otherwise it says so and names `host.log`.
- **`storebound://open?path=<absolute folder>`** (sent by `storebound desktop` in an app folder, which first puts
the folder on the machine's list): the host accepts one plain absolute path (`policy::deep_link_open_path`), syncs
the list, selects that app folder when it is on it, otherwise asks in a native dialog and adds it