- HideWindow: true in SysProcAttr (Windows) prevents powershell.exe
from opening a console window over the GUI
- skipPSNoiseLine filters multi-line PS error blocks (At line:, CategoryInfo,
FullyQualifiedErrorId, VERBOSE: etc.) - errors still appear via Write-Log
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Installs NuGet provider + PSWindowsUpdate from PSGallery, then runs
Install-WindowsUpdate -AcceptAll -IgnoreReboot. No auto-reboot -
operator restarts manually after all steps complete.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Walk uses Win32 controls directly — no GPU/OpenGL dependency — so the app
renders correctly on VMware ESXi, Hyper-V and any other VM. No MinGW needed
in CI; pure cross-compile with GOOS=windows.
- internal/gui/gui.go: rewrite with Walk declarative API (3 phases:
form → live run → summary); load/save config via native FileDialog;
Closing event cancels running scripts cleanly
- cmd/xetup/app.manifest: UAC requireAdministrator + ComCtl32 v6 +
per-monitor DPI awareness (rsrc generates rsrc.syso in CI)
- .forgejo/workflows/release.yml: drop MinGW, add rsrc generation step
- go.mod/go.sum: remove Fyne and all its deps; only Walk (3 deps total)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
VMware SVGA II (ESXi) and similar virtual GPUs don't support the OpenGL
version Fyne needs - window opens but stays blank. Force FYNE_RENDERER=software
so Fyne uses CPU/GDI rendering instead. No visible difference for this UI.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Drop bubbletea, huh, lipgloss and all their transitive deps
- Add fyne.io/fyne/v2 – native Windows GUI, dark theme
- New internal/gui/gui.go: 3-phase window (form → live run → summary)
- Form: PC name, product key, profile, per-step checkboxes
- Load config / Save config buttons for per-client presets
- SPUSTIT button auto-saves to default config.json
- Live run: virtualised log list, ZASTAVIT button
- Summary: per-step status + elapsed time, ZAVRIT button
- cmd/xetup/main.go: pass cfgPath to gui.Run so save/load works
- CI: add mingw-w64-gcc, CGO_ENABLED=1, -H windowsgui flag
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Use path.Join (always '/') for embed.FS reads, filepath.Join only for OS paths.
filepath.Join on Windows produces backslashes which embed.FS doesn't accept,
causing "failed to extract scripts" on startup.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>