Commit Graph
1 Commits
Author SHA1 Message Date
leilei3167 f9f5e3b81f MUL-6734 fix(daemon): resolve Windows set-path overrides via LookPath (#7623)
`multica runtime profile set-path` was accepted on Windows but the daemon never
used the override: the gate required a Unix executable bit, which Go never sets
on Windows files (0666/0444 for regular files; 0111 only on directories). Every
override — including a plain .exe — read as not executable, so the daemon fell
back to PATH: either failing registration with a message that blamed the user's
filesystem, or silently registering a different install than the pinned one.

appendProfileRuntimes now resolves the override through resolveAgentExecutablePath
(exec.LookPath) — the same contract agent launches use — and records the resolved
path rather than the raw override, so Windows PATHEXT completion picks up .cmd
shims and extension-less pins. Unix exec-bit checks are unchanged, and a stale or
mistyped override still falls back to PATH with the existing warning.

Regression coverage runs on the real Windows runner via the existing
windows-execenv job.

Fixes #7613
2026-09-17 17:39:48 +08:00