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
+22
View File
@@ -20,6 +20,28 @@ internal sealed class AboutDialog : Form
/// updates" path.</summary>
private const string ReleaseNotes =
"""
RemSound v1.9
Critical auto-updater fix. No wire-format or
audio-pipeline changes v1.5 through v1.9 peers
interoperate.
Bug fix:
* The auto-updater now actually installs updates.
Every previous version had a fault in the update
step: the folder path handed to the file-copy
command ended in a backslash, which Windows
mis-read, so the copy was rejected and no files
were ever replaced. Check for updates would
download the new version but never apply it. That
copy step is fixed.
Because the fault was in the OLD version doing the
updating, v1.8 and earlier cannot install v1.9 for you
install v1.9 by hand once (download the zip, extract
it over your RemSound folder). From v1.9 onward, Check
for updates installs every update automatically.
RemSound v1.8
Updater polish and a rewritten user manual. No