Commit Graph
7 Commits
Author SHA1 Message Date
Claude 3adb61b751 drop unused PathResolver fields
program_files_x86 and windows_dir were stored but never read after
construction; only their string forms via admin_roots are used.
Compute them as locals in PathResolver::new instead, silencing the
dead_code warning without expanding the public surface.
2026-04-28 16:48:34 +00:00
Claude d72250eb73 resolve admin-required roots via SHGetKnownFolderPath
Replace the hardcoded "c:\\program files" / "c:\\windows" prefix
heuristic with a PathResolver::requires_admin method that matches
against runtime-resolved FOLDERID_ProgramFilesX64,
FOLDERID_ProgramFilesX86, and FOLDERID_Windows. Honors the MVP
"no hardcoded paths" rule, catches Program Files (x86) explicitly,
and works on non-C: Windows installs.

Match logic uses path-component boundaries so "C:\\Program Files
Custom" no longer false-positives against "C:\\Program Files".

Adds unit tests for the new method via a #[cfg(test)] constructor
that lets us seed roots without invoking Win32.
2026-04-28 16:39:12 +00:00
JMR-dev b31cca652b doc of the session 2026-04-27 22:21:30 -05:00
JMR-dev 506dfbd669 working install and uninstall flow in Vagrant 2026-04-27 22:06:57 -05:00
JMR-dev ea006827f5 wip 2026-04-27 18:58:52 -05:00
JMR-dev a5d6c8aa99 wip 2026-03-27 21:18:48 -05:00
JMR-dev 3614222a7f intial commit 2026-03-27 12:54:27 -05:00