Initial deployment suite for X9.cz MSP Windows 10/11 deployment: - PowerShell scripts 00-11: admin account, bloatware removal, software (winget+Atera), system registry tweaks, default profile, personalization, scheduled tasks, BackInfo desktop info, Windows activation, PC identity/rename, network, Dell Update - Web platform: xetup.x9.cz (nginx), spec/annotation page, /dl shortlink, GitHub mirror - Forgejo Actions CI: auto-build xetup.exe on push, publish to releases/latest - Go xetup.exe: embeds all scripts/assets, per-feature checkboxes, load/save config
3.8 KiB
3.8 KiB
| name | description | type |
|---|---|---|
| Xetup project state as of 2026-04-15 | Current state of the xetup Windows deployment project - architecture decisions, what exists, what's planned | project |
What xetup is
Automated Windows 10/11 setup for X9.cz MSP clients. Replaces ~3 hours of manual work with a single script/tool.
Current repo structure (cleaned 2026-04-15)
xetup/
├── review.html ← interactive review page v2 (with colleague comments)
├── xetup-review.md ← exported review v1 results from colleague
├── xetup-win-setup-spec.md ← original spec from colleague
├── xetup-win-setup-novinky.md ← v2 additions from colleague (taskbar pins, explorer, network, admin desc)
├── W11.pdf ← reference PDF
└── windows-deployment-new/ ← the active codebase
├── Deploy-Windows.ps1 ← master script
├── CLAUDE.md / SPEC.md
├── config/config.json
├── assets/
│ ├── Backinfo/ ← BackInfo.exe + ini + ps1 (ready to use)
│ └── Logo/ ← X9 ico + jpeg (moved here 2026-04-15)
└── scripts/
├── 00-admin-account.ps1
├── 01-bloatware.ps1
├── 02-software.ps1
├── 03-system-registry.ps1
├── 04-default-profile.ps1
├── 05-personalization.ps1
├── 06-scheduled-tasks.ps1
├── 07-desktop-info.ps1 ← TO BE REPLACED by BackInfo
└── 08-activation.ps1
Key decisions made (2026-04-15 session)
- BackInfo wins over custom DesktopInfo - colleague prefers it (INI config, auto-update, centered text). Our 07-desktop-info.ps1 will be deleted.
- OneDrive must NOT be removed - current code aggressively deletes it, breaks M365. Must fix 03-system-registry.ps1 and 04-default-profile.ps1.
- RDP must NOT be removed - was in SPEC but never implemented (good). Remove from SPEC entirely.
- Colleague's spec has priority over our implementation when they overlap.
- adminx9 account: no password (changed from config-driven password), FullName = "X9.cz s.r.o."
- Nextcloud not needed - assets are in repo, only Atera MSI downloads from web.
- Flash2 not integrated - it's the old version of this tool, just for inspiration.
- Atera Agent: curl from
https://x9.servicedesk.atera.com/api/utils/agent-install/windows/?cid=31&aeid=50b72e7113e54a63ac76b96c54c7e337thenmsiexec /i setup.msi /qn
Architecture direction (decided 2026-04-15)
- Go TUI launcher (xetup.exe) - single binary, embeds PS scripts + assets
- Charmbracelet stack: bubbletea, huh, lipgloss
- Self-update from web (version.json check)
- Web platform at xetup.x9.cz:
- Forgejo for git hosting + issues + CI
- Auto-generated documentation from spec.yaml
- Comments via Forgejo Issues API
- Landing page + download + changelog
- Deployment reporting dashboard (later)
- spec.yaml as single source of truth for both exe and docs
What needs to happen next
- Create spec.yaml from all gathered specs + review
- Initialize Go project structure
- Fix PS scripts (OneDrive removal, admin password, BackInfo integration)
- Set up repo (GitHub initially, Forgejo later)
- First Go build with TUI form
- CI pipeline (GitHub Actions)
- Web landing page
Technical findings from deep analysis
- UCPD kernel driver (since Feb 2024) blocks PDF default association via UserChoice - need to disable UCPD during deployment
- System tray "show all icons" broken in Win11 24H2 - EnableAutoTray=0 ignored
- Edge needs ~15 more policy keys than we currently set
- ConfigureStartPins has new applyOnce property in 24H2
- Current code quality is solid: 3-level registry fallback, proper hive handling with GC+finally