`PATH`; the step warns if it finds one (`winget uninstall
Anthropic.ClaudeCode` removes it), and the architecture audit shows which
`claude.exe` wins.
+- **Windows Terminal gets its framework package registered first.** Terminal is
+ an MSIX that depends on `Microsoft.UI.Xaml.2.8`, which winget installs for it
+ from a pinned build (8.2310.30001.0). When a *newer* build is already on the
+ machine but not registered for the account running the setup, Windows
+ declines to stage the older one, winget then tries to register a package
+ that is not there, and what it prints is `Installer failed with exit code:
+ 0x80070002 : The system cannot find the file specified` — with Terminal
+ itself never attempted, on every run. So the batch file first registers the
+ build that is already there (`Add-AppxPackage -RegisterByFamilyName`, no
+ elevation needed), and winget then finds the dependency met. With none on
+ the machine it does nothing, and winget installs the framework as usual.
- **Rust.** winget installs rustup (`Rustlang.Rustup`, per-user, under
`%USERPROFILE%\.cargo` and `.rustup`). Its silent install is
`rustup-init -y -q`, which already sets up a stable toolchain for whatever