initial commit
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
---
|
||||
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
|
||||
Reference in New Issue
Block a user