Part of #9.
Context
scripts/build_installers.py currently embeds the Windows installer application as a large generated Python string. Packaging, UI, process detection, path handling, and installation logic therefore change in one builder file and most installer behavior cannot be imported directly by tests.
Work
- Move the Windows installer application into a normal source module.
- Give install results a typed contract rather than a string-keyed dictionary.
- Share Windows support-path construction instead of duplicating
APPDATA handling.
- Add focused tests for path selection, copying, configuration generation, upgrade replacement, and failure reporting.
- Keep the produced installer behavior and artifact naming stable.
Acceptance criteria
The installer application is directly importable/testable, build orchestration is smaller, and the current release behavior remains intact.
This is marked post-launch unless smoke testing reveals a blocking installer defect.
Part of #9.
Context
scripts/build_installers.pycurrently embeds the Windows installer application as a large generated Python string. Packaging, UI, process detection, path handling, and installation logic therefore change in one builder file and most installer behavior cannot be imported directly by tests.Work
APPDATAhandling.Acceptance criteria
The installer application is directly importable/testable, build orchestration is smaller, and the current release behavior remains intact.
This is marked post-launch unless smoke testing reveals a blocking installer defect.