# Nexus Installer v2 — WPF Redesign Summary

**Date:** 2026-06-05  
**Version:** 0.1.0-installer2  
**Build:** PASS  

## Overview

NexusSetup.exe has been redesigned from WinForms to a fullscreen WPF installer with a 6-step OS-style flow, dark glass Nexus branding, and embedded POC payload.

## Build Evidence

| Item | Value |
|------|-------|
| Build script | `scripts/nexus-laptop-poc/build-installer.ps1` |
| Output EXE | `dist/nexus-laptop-poc/installer/NexusSetup.exe` |
| Copy | `dist/nexus-laptop-poc/NexusSetup.exe` |
| Size | 89,912,996 bytes (~86 MB) |
| SHA256 | `14d84c115326307962df6a20eb82c7256cb84e960330d80ee923c0258c02d38c` |
| Payload ZIP | `nexus-shell-poc.zip` (15,169,490 bytes) |
| `dotnet build -c Release` | PASS (0 warnings, 0 errors) |

## Changed Files

### New
- `source/nexus-installer/App.xaml` / `App.xaml.cs` — WPF entry, `--launch` mode routing
- `source/nexus-installer/Themes/InstallerResources.xaml` — dark glass design tokens
- `source/nexus-installer/Views/NexusSetupWindow.xaml` / `.cs` — 6-step fullscreen installer
- `source/nexus-installer/Views/NexusLaunchWindow.xaml` / `.cs` — launch progress for desktop shortcut
- `source/nexus-installer/Models/InstallerOptions.cs` — CLI arg parsing
- `source/nexus-installer/Converters/InstallerConverters.cs` — WPF value converters
- `source/nexus-installer/Assets/` — Nexus logo PNGs (Lille, Stort, Nexus_ikon)

### Modified
- `source/nexus-installer/NexusInstaller.csproj` — `UseWPF=true`, version 0.1.0-installer2
- `source/nexus-installer/ViewModels/NexusSetupViewModel.cs` — fixed `IsInstalled` setter bug, step indicators
- `source/nexus-installer/Services/NexusLaunchService.cs` — branding "Ninja Nexus" (shortcut name/description)
- `source/nexus-installer/Services/NexusIdentitySeedService.cs` — platform lock set to unlocked POC mode

### Removed
- `source/nexus-installer/Program.cs` — WinForms entry
- `source/nexus-installer/MainForm.cs` — WinForms installer UI
- `source/nexus-installer/LaunchProgressForm.cs` — WinForms launch UI

## 6-Step Flow

1. **Welcome** — logo, "Velkommen til Ninja Nexus", Start installation
2. **System requirements** — OK/Missing/Warning checks, .NET download button
3. **Install path** — default `C:\NinjaNexusPOC`, browse
4. **Organization/user** — 3 orgs dropdown, `user@nexus.local`, Role User, device name
5. **Security** — lockdown/identity/agent/update info + POC disclaimer (no permanent lockdown)
6. **Install** — Nexus phase stepper, Install + Start Nexus buttons, collapsible log panel

## Branding

- Window title: **Ninja Nexus Installer**
- Footer: **Build 0.1.0-identity2 / POC**
- No "Safe Laptop POC" in headlines
- Desktop shortcut: **Ninja Nexus.lnk**

## Screenshots

Captured in this folder (2026-06-05):

| File | Step |
|------|------|
| `installer-welcome.png` | Step 1 — Welcome |
| `installer-requirements.png` | Step 2 — System requirements |
| `installer-identity.png` | Step 4 — Organization and user |
| `installer-installing.png` | Step 6 — Install progress |
| `installer-complete.png` | Step 6 — Complete |

Regenerate: `scripts/nexus-laptop-poc/capture-installer-screenshots.ps1`

## What Remains POC

- Installation target path defaults to `C:\NinjaNexusPOC`
- Shell starts with `--safe-poc` argument
- Identity seeded locally in `%LocalAppData%\NinjaNexus` (not cloud-enrolled)
- Platform lock file written as **unlocked** — no registry changes, no permanent lockdown
- Prerequisite auto-install (.NET, WebView2, VC++) runs during install phase
- Trust status: "Pending — afventer godkendelse"
- Login credentials: `user@nexus.local` / `NexusUser1!`
- Update channel checks `nexus.ninjakernen.info` (network optional with warning)

## Usage

```
NexusSetup.exe                          # Full installer wizard
NexusSetup.exe --launch --install "C:\NinjaNexusPOC"   # Desktop shortcut mode
```
