Skip to content
drpetersonfernandes edited this page Aug 6, 2026 · 28 revisions

Simple Launcher — Documentation

Developer and user documentation for the two main projects:

Companion files: ManualTests.md (manual test checklist for areas without unit tests) · WhatsNew.md (changelog) · parameters.md (emulator parameter reference).

Reading order

User-facing: 01 → 03 → 05 → 18 Architecture: 04 → 02 → 06 → 07 Feature deep-dives: 08 → 09 → 10 → 11 → 12 → 13 Maintenance: 14 → 15 → 16 → 17

Document map

Doc Content
01 — Overview What Simple Launcher is, differentiators, feature surface, version/license
02 — Projects & Solution Solution layout, csproj deep-dive for both projects, packages, folder structure
03 — Quickstart Install, prerequisites, first launch, Easy/Expert Mode, folder structure
04 — Architecture Layers, DI composition root, startup/shutdown sequence, host-interface pattern, MVVM
05 — Configuration appsettings.json, settings.xml, system.xml schema, placeholders, data-file locations, credentials
06 — Systems & Launch System model, launch pipeline, 8 launch strategies, extraction/mounting/conversion, 21 emulator config handlers, AI parameter resolution
07 — Core Services Complete catalog of SimpleLauncher.Core\Services\ (grouped) + interfaces + models
08 — UI Layer Windows, pages, ViewModels, UI services, menus, themes, languages
09 — RetroAchievements RA API client, system matcher, hashing, credential injection, RA windows
10 — Game Scanning GameScannerService + the 11 storefront scanners
11 — Bundled Tools Shipped tools\ payloads, ExternalToolLauncherService, Tools\ source projects
12 — Data Formats XML / MessagePack / SQLite / JSON / YAML / TOML usage across the app
13 — Logging & Debug Serilog setup, sinks, Debug Window, bug-report pipeline
14 — Testing Test project, helpers, coverage summary, running tests, known slow test
15 — Development Build/publish, versioning, localization, analyzers, release workflow
16 — Updater Update check, Updater.exe flow, restart/reinstall
17 — Release Notes Condensed changelog 5.6.0 → 1.1
18 — Emulator Parameters parameters.md conventions + full system → emulator index (84 systems / 352 entries)

Conventions used in these docs

  • Code facts are cited with path:line references into the repository.
  • marks behavior that should be verified before relying on it.
  • Relative links (xx-*.md) work from within docs\; ../ links point to the repo root.
  • Version-specific numbers (package versions, test counts) reflect the repository at doc-write time (5.6.0).

Clone this wiki locally