PrintToVeraeTimeStamp/platform/windows/wix/VM-C-ONE-PAGER.md
George Lambert a15db6ffc7
Some checks failed
windows-msi / full-msi-unsigned (push) Has been cancelled
docs: VM-C-ONE-PAGER single-page dual-ship printer CA unlock path
enable-printer-cas → build-full-msi → dual-ship-smoke → sign-dry-run → fill-manifest.
2026-10-14 01:30:49 -04:00

45 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# VM C one-pager — enable CAs → MSI → smoke → sign dry-run → manifest
**Issue 1** commercial MSI path for clean-VM **C** (printer CA parity). Narrative: [DUAL-SHIP.md](DUAL-SHIP.md). Printable A/B/C ticks: [VM-DUAL-SHIP-CHECKLIST.md](VM-DUAL-SHIP-CHECKLIST.md). Still left: [OPEN-ISSUES Issue 1](../../../../verae-2026-screens/OPEN-ISSUES.md) (Commercial MSI / notarize).
**From repo root on Windows** (Go + WiX v3 `candle`/`light` on PATH). HelperVersion **0.3.6** unless `VERSION=` override.
```powershell
# 1) Enable deferred printer CAs in Product-Full.wxs (default tree is OFF)
powershell -NoProfile -ExecutionPolicy Bypass -File platform\windows\scripts\enable-printer-cas.ps1 -Status
powershell -NoProfile -ExecutionPolicy Bypass -File platform\windows\scripts\enable-printer-cas.ps1
# 2) Rebuild elevated full MSI (StageFull → candle/light)
powershell -NoProfile -ExecutionPolicy Bypass -File platform\windows\scripts\build-full-msi.ps1
# 3) Offline dual-ship smoke + local artifact existence/hash (does not install/drive VM)
powershell -NoProfile -ExecutionPolicy Bypass -File platform\windows\scripts\dual-ship-smoke.ps1 -VerifyArtifacts
# 4) Authenticode dry-run only (find signtool; verify unsigned; print cmds — no secrets, no sign)
powershell -NoProfile -ExecutionPolicy Bypass -File platform\windows\scripts\sign-dry-run.ps1
# 5) SHA-256 → DOWNLOADS-MANIFEST rows (no upload; paste TBD only after CDN)
powershell -NoProfile -ExecutionPolicy Bypass -File platform\windows\scripts\fill-manifest-sha256.ps1 `
-Path .\platform\windows\wix\out\VeraePrintStamp-windows-amd64-0.3.6.msi
# optional NSIS leg:
# -Path .\dist\VeraePrintStamp-windows-amd64-0.3.6-setup.exe, .\platform\windows\wix\out\...
```
| Step | Script | Does | Does **not** |
|------|--------|------|----------------|
| 1 | `enable-printer-cas.ps1` | Unwrap `DEFERRED_PRINTER_CAS` body | Build, install, dual-ship pass |
| 2 | `build-full-msi.ps1` | StageFull + MSI under `wix/out/` | Authenticode; exit 1 if WiX missing |
| 3 | `dual-ship-smoke.ps1 -VerifyArtifacts` | Print A/B/C; hash local MSI/NSIS | Drive a VM; replace clean-VM C sign-off |
| 4 | `sign-dry-run.ps1` | `signtool verify` + print sign templates | Live sign / org secrets |
| 5 | `fill-manifest-sha256.ps1` | Print SHA256SUMS / MD rows | Upload or edit site files |
**Then on clean VM C** (checklist § VM C): default elevated MSI (or `VERAE_SKIP_PRINTERS=0`) → files + IPP/`127.0.0.1:8631` + **Verae Print Helper** task + one-page PDF stamp (receipt/CID ≠ jobId) → uninstall clean. Parity with VM A required.
**Rules**
- Enabling CAs + rebuilding is **not** dual-ship complete — [DUAL-SHIP.md](DUAL-SHIP.md) thin-NSIS exit **A–D** still open.
- NSIS stays **primary** until live Authenticode + VM C sign-off + site cutover.
- Hold / jobId is never evidence.
- Re-disable CAs for files-only tree: `enable-printer-cas.ps1 -Disable`.
**Still left (Issue 1):** org secrets for live CI sign; live notary (macOS); clean-VM **C** sign-off; paste real digests after upload — see [OPEN-ISSUES](../../../../verae-2026-screens/OPEN-ISSUES.md) row 1 · [PUBLISH-DIGESTS.md](../../../docs/PUBLISH-DIGESTS.md) · [CI-SIGN-NOTARY.md](CI-SIGN-NOTARY.md).