43 lines
1.6 KiB
Markdown
43 lines
1.6 KiB
Markdown
---
|
|
epic: 8
|
|
story: 8.10
|
|
title: "Installer & Distribution"
|
|
status: draft
|
|
---
|
|
|
|
## Epic 8 — Windows App (Rust + iced)
|
|
**Goal:** Fast, lightweight native Windows app -- single .exe, no runtime dependencies.
|
|
|
|
### Story 8.10: Installer & Distribution
|
|
|
|
As a **Windows user**,
|
|
I want professional installation and distribution options,
|
|
So that I can install CalcPad through my preferred method with confidence in its authenticity.
|
|
|
|
**Acceptance Criteria:**
|
|
|
|
**Given** the release build is complete
|
|
**When** the `.msi` installer is generated via WiX
|
|
**Then** it installs CalcPad to `%ProgramFiles%\CalcPad\`, creates Start Menu shortcuts, registers the `.calcpad` file association, and sets up the uninstaller
|
|
|
|
**Given** the installer is built
|
|
**When** the `.msi` is signed
|
|
**Then** it has a valid Authenticode signature so Windows SmartScreen does not block it
|
|
|
|
**Given** the user prefers winget
|
|
**When** the user runs `winget install calcpad`
|
|
**Then** CalcPad is installed from the winget repository using the published manifest
|
|
|
|
**Given** the user wants a portable version
|
|
**When** they download the `.zip` distribution
|
|
**Then** the zip contains `calcpad.exe`, `portable.marker`, and a `data/` directory
|
|
**And** the user can run it immediately without installation
|
|
|
|
**Given** the release binary is built
|
|
**When** its file size is measured
|
|
**Then** the `.exe` is under 15 MB (including the statically linked engine)
|
|
|
|
**Given** the installer is run
|
|
**When** installation completes
|
|
**Then** no runtime dependencies are required (no .NET, no MSVC runtime, no WebView2) -- CalcPad runs standalone
|