Reinstalling deleted files Ely never installed, and a busy file left a
half-removed install. The installer now writes the top-level names it
installs (.ely-files, from packaging/windows/files.sh); upgrades and
uninstall remove only those, and releases before the list only in the
folder the registry names. It checks that every listed file can be
written, moves them all into .ely-old, and on any refusal puts them
back and exits 2. A file that cannot be written fails the install,
which removes what it created and restores the old release.
tests/scripts/windows-installer.sh covers each case.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Upgrades kept ElyMark's old git folder and CEF files. The installer
now runs the uninstaller's file list before copying, only when the
folder already holds this app's exe.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Both build on packaging/stage.sh. The NSIS installer takes the staged
folder and removes only what it laid out; installer.sh drives it. The
AppImage gives linuxdeploy the app, the workers and libcef.so.
ElyPDF's test window installs the app's menus first, as ElyTree's
does. probe.yml reports what each Gitea runner holds.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>