fix:Improve Claude Mds
This commit is contained in:
@@ -21,13 +21,11 @@ Note: this is the one project where `System.Windows` is correct (WPF, not Avalon
|
||||
3. Open `WizardWindow` (FreshInstall / Update) or `SettingsWindow` (Config)
|
||||
|
||||
The installer does **not** self-update. Each release ships a stable-named
|
||||
`ClaudeDo.Installer.exe` asset (permanent URL
|
||||
`…/releases/latest/download/ClaudeDo.Installer.exe`); the installer never checks for or
|
||||
replaces itself on launch. The in-app "Update" button relaunches the on-disk installer to
|
||||
run the app update — the installer binary itself only changes when the user downloads a
|
||||
fresh copy. App-update detection is unaffected: `WriteInstallManifestStep` records
|
||||
`ctx.InstalledVersion` (the release tag from `DownloadAndExtractStep`), which
|
||||
`InstallModeDetector` compares against the latest tag.
|
||||
`ClaudeDo.Installer.exe` asset (permanent URL `…/releases/latest/download/ClaudeDo.Installer.exe`);
|
||||
the binary only changes when the user downloads a fresh copy. The in-app "Update" button relaunches
|
||||
the on-disk installer to run the *app* update. App-update detection is unaffected:
|
||||
`WriteInstallManifestStep` records `ctx.InstalledVersion` (the release tag from
|
||||
`DownloadAndExtractStep`), which `InstallModeDetector` compares against the latest tag.
|
||||
|
||||
## Modes (`Core/InstallerMode.cs`)
|
||||
|
||||
@@ -82,7 +80,12 @@ Non-fatal if `claude` CLI is missing or too old (prints the manual command). Ser
|
||||
|
||||
No new service or scheduled task is created. Rationale: the worker must run in the user's interactive session so Claude CLI auth works.
|
||||
|
||||
**`DownloadAndExtractStep`** — fetches `checksums.txt` first and only touches the install dir after the zip verifies. The zip is cached in `%TEMP%\ClaudeDo-download-cache` (ctor takes an override for tests) and reused on a retry when its SHA-256 still matches, so a failed attempt doesn't cost another full download; it is dropped after a successful install, a bad download is deleted immediately, and zips of other versions are pruned. `app\`/`worker\` are stashed to `*.bak` before extraction and restored if extraction fails.
|
||||
**`DownloadAndExtractStep`** — fetches `checksums.txt` first and only touches the install dir after
|
||||
the zip verifies. The zip is cached in `%TEMP%\ClaudeDo-download-cache` (ctor takes an override for
|
||||
tests) and reused on a retry when its SHA-256 still matches, so a failed attempt doesn't cost
|
||||
another full download. Cache is dropped after a successful install, a bad download is deleted
|
||||
immediately, other versions are pruned. `app\`/`worker\` are stashed to `*.bak` before extraction
|
||||
and restored if it fails.
|
||||
|
||||
### Gotcha: the installer must never run from inside the install dir
|
||||
|
||||
|
||||
Reference in New Issue
Block a user