Bump to v1.9.0: fix the robocopy trailing-backslash bug — auto-updater finally works

The install helper's robocopy line was:
  robocopy "{stagingRoot}" "{installDir}" ...
installDir is AppContext.BaseDirectory, which always ends in a directory
separator, so the destination argument was a quoted path ending in a
backslash: "D:\...\publish\". Windows command-line parsing reads the \"
as an escaped quote, so robocopy never received a valid destination,
rejected the command line, and exited 16 (usage error, nothing copied)
instantly. The auto-updater has never worked in any release because of
this — v1.0-v1.2 failed silently, v1.3+ detected the failure and wrote
update-failed.txt but never fixed the robocopy line.

Fix: BuildInstallScript now strips trailing separators —
stagingArg = stagingRoot.TrimEnd('\','/'), installArg likewise — and
the robocopy line uses the trimmed forms. Verified by running the
corrected robocopy against real staged files: exit 3 (success), files
copied.

The broken helper is baked into every shipped build including v1.8, and
the helper is generated by the running version — so v1.8 and earlier
cannot auto-install v1.9. v1.9 must be installed by hand once; from v1.9
onward the updater works.

No wire-format or audio-pipeline changes — v1.5 through v1.9 interoperate.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Ednunp
2026-05-19 13:49:44 +01:00
co-authored by Claude Opus 4.7
parent e6d47e229d
commit 4344e3439d
4 changed files with 48 additions and 20 deletions
+15 -18
View File
@@ -1,29 +1,26 @@
# RemSound v1.8
# RemSound v1.9
Updater improvements and a rewritten user manual. Wire format and audio pipeline are unchanged from v1.4 onward — all versions interoperate.
A critical fix to the auto-updater. Wire format and audio pipeline are unchanged from v1.4 onward — all versions interoperate.
## Updater improvements
## The fix
- **Check for updates is more reliable.** It now looks further down the GitHub release list when deciding what the newest version is, so it always finds the latest RemSound release.
- **An update can no longer overwrite your own data.** The update now replaces RemSound's program files only — it leaves your settings file, and your profiles, logs and recordings folders, untouched. Previously a release package could in principle carry stray files over the top of yours; the updater now refuses to copy those even if they were present.
- **A successful update leaves a tidy folder.** Once an update finishes cleanly, the temporary update files, the update log, and any leftover failure note are all cleared automatically.
- **The "update failed" note is now plain English.** If an update can't finish, the `update-failed.txt` note left next to RemSound is written in clear, non-technical language with simple numbered steps. Technical detail for support stays in the separate update log.
**The auto-updater now actually installs updates.** Every release of RemSound up to and including v1.8 had a fault in the update step: the install-folder path passed to the internal file-copy command ended in a backslash, which Windows mis-interpreted, so the copy command was rejected and no files were ever replaced. "Check for updates" would download the new version, but the swap silently never happened and you stayed on the old version. That copy step is now fixed.
## Rewritten user manual
## Important — install v1.9 by hand, just this once
The user manual (press F1 inside RemSound, or open `readme.html`) has been rewritten from the ground up in plain language. Technical jargon has been removed or explained in everyday terms, and the writing now describes what to do rather than narrating keystrokes.
Because the fault was in the *old* version doing the updating, **"Check for updates" on v1.8 or earlier cannot install v1.9** — it will download it but fail to apply it. You need to install v1.9 manually this one time. After that the updater works correctly and every future update is automatic.
## Install
To install v1.9 over an existing copy:
1. Download `RemSound-v1.8.zip` from this release.
2. Extract somewhere with write permission (e.g. `C:\RemSound\`, `Documents\RemSound\`). Avoid `Program Files` unless you grant write permission so the self-updater can replace files in place.
3. Run `RemSound.exe`. Allow on private networks when Windows Firewall prompts.
4. Press F1 (or use the Help menu) for the user manual.
1. Download `RemSound-v1.9.zip` from this release.
2. Close RemSound.
3. Extract the zip **over your existing RemSound folder**, overwriting the program files when prompted. The zip contains program files only — it will **not** touch your profiles or your settings.
4. Run `RemSound.exe`.
For a fresh install, just extract the zip anywhere you have write permission (e.g. `C:\RemSound\`, `Documents\RemSound\` — avoid `Program Files`) and run `RemSound.exe`. Allow on private networks when Windows Firewall prompts. Press F1 for the user manual.
Requires the .NET 10 Desktop Runtime. If it's missing, Windows offers to fetch it on first launch.
## Upgrading
## From v1.9 onward
v1.5 / v1.6 / v1.7 users: use **Help → Check for updates** — it pulls v1.8 cleanly. The manual install above always works too.
If you installed RemSound inside a Dropbox-synced (or other file-sync) folder and your install is v1.0 / v1.1 / v1.2, see the [v1.3 release notes](https://github.com/Ednunp/RemSound/releases/tag/v1.3) for one-time manual install steps. From v1.3 onward Check-for-updates handles synced folders correctly.
**Help → Check for updates** works properly — v1.9 → v1.10 and every future release installs itself, no manual step needed.