Automated Windows 10/11 deployment for X9.cz MSP clients
Root cause fix: runner.go passed config as unevaluated PS expression via -File mode - scripts received a literal string instead of parsed object. Changed to -ConfigPath; scripts load JSON themselves via shared common.ps1 (Write-Log, Get-Feature, Load-Config). GUI now regenerates runtime config before run so user selections actually reach the scripts. Merged 04-default-profile + 05-personalization into single script (one hive load/unload, no Explorer restart, no hive contention). Deleted Deploy-Windows.ps1 (xetup.exe is sole entry point), 06-scheduled-tasks.ps1 (tasks caused more harm than good), 07-desktop-info.ps1 (replaced by BackInfo long ago). Step ordering: activation moved early, pcIdentity before WU (exit 9 on rename only when rename actually happened). Edge policies split into mandatory (telemetry, first-run) vs recommended (UI preferences user can override). Atera install uses Start-Process -Wait instead of fragile sleep. Updated config.json, tests, DefaultConfig to match current state. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| .forgejo/workflows | ||
| assets | ||
| cmd/xetup | ||
| config | ||
| docs | ||
| internal | ||
| scripts | ||
| tests | ||
| tools | ||
| web | ||
| .gitignore | ||
| CLAUDE.md | ||
| config-editor.hta | ||
| docker-compose.yml | ||
| embed.go | ||
| go.mod | ||
| go.sum | ||
| heal.sh | ||
| Remove-ClaudeCode.ps1 | ||
| review.html | ||
| Run.cmd | ||
| runner-config.yml | ||
| Setup-ClaudeCode.ps1 | ||
| setup.ps1 | ||
| setup.sh | ||
| SPEC.md | ||
| xetup.exe | ||