- User profile, feedback preferences - Project state and architecture decisions - Technical findings (UCPD, Win11 compat, code analysis) - Reference pointers to colleague specs Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
73 lines
3.8 KiB
Markdown
73 lines
3.8 KiB
Markdown
---
|
|
name: Xetup project state as of 2026-04-15
|
|
description: Current state of the xetup Windows deployment project - architecture decisions, what exists, what's planned
|
|
type: 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)
|
|
1. **BackInfo wins over custom DesktopInfo** - colleague prefers it (INI config, auto-update, centered text). Our 07-desktop-info.ps1 will be deleted.
|
|
2. **OneDrive must NOT be removed** - current code aggressively deletes it, breaks M365. Must fix 03-system-registry.ps1 and 04-default-profile.ps1.
|
|
3. **RDP must NOT be removed** - was in SPEC but never implemented (good). Remove from SPEC entirely.
|
|
4. **Colleague's spec has priority** over our implementation when they overlap.
|
|
5. **adminx9 account: no password** (changed from config-driven password), FullName = "X9.cz s.r.o."
|
|
6. **Nextcloud not needed** - assets are in repo, only Atera MSI downloads from web.
|
|
7. **Flash2 not integrated** - it's the old version of this tool, just for inspiration.
|
|
8. **Atera Agent**: curl from `https://x9.servicedesk.atera.com/api/utils/agent-install/windows/?cid=31&aeid=50b72e7113e54a63ac76b96c54c7e337` then `msiexec /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
|
|
1. Create spec.yaml from all gathered specs + review
|
|
2. Initialize Go project structure
|
|
3. Fix PS scripts (OneDrive removal, admin password, BackInfo integration)
|
|
4. Set up repo (GitHub initially, Forgejo later)
|
|
5. First Go build with TUI form
|
|
6. CI pipeline (GitHub Actions)
|
|
7. 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
|