PrintToVeraeTimeStamp/platform/windows/wix/VM-DUAL-SHIP-CHECKLIST.md
George Lambert 86809b27eb
Some checks failed
windows-msi / full-msi-unsigned (push) Has been cancelled
feat: enable-printer-cas.ps1 unlocks deferred printer CAs for VM C
Toggles Product-Full markers; dual-ship-smoke reports C blocked until enabled.
2026-10-14 00:47:09 -04:00

6.3 KiB
Raw Blame History

VM dual-ship checklist (printable)

Printable operator sheet for clean-VM A / B / C validation while NSIS remains primary and full MSI is dual-ship only. Narrative runbook: DUAL-SHIP.md. Silent props: SILENT_PROPS.md. Offline runner (prints these steps; optional local MSI/NSIS existence + hash): ../scripts/dual-ship-smoke.ps1.

powershell -NoProfile -ExecutionPolicy Bypass -File platform\windows\scripts\dual-ship-smoke.ps1
powershell -NoProfile -ExecutionPolicy Bypass -File platform\windows\scripts\dual-ship-smoke.ps1 -VerifyArtifacts

HelperVersion: _____________ (expect 0.3.6 unless VERSION= override)
NSIS artifact: VeraePrintStamp-windows-_____-_____-setup.exe
MSI artifact: VeraePrintStamp-windows-_____-_____.msi
Operator / date: _____________ / _____________
Snapshot IDs: A _____________ B _____________ C _____________

Rules

  • One channel per VM until Upgrade/ARP coexistence is an explicit test.
  • Hold / jobId is not evidence — receipt/CID only on stamp path.
  • Do not thin NSIS until DUAL-SHIP.md thin-NSIS exit A–D are all checked.
  • VM C stays blocked while printer deferred CAs are commented in Product-Full.wxs.

Shared pre-checks (every VM)

# Step ☐
0.1 Fresh Win10/11 x64 snapshot (or sysprep-clean); admin account available ☐
0.2 No prior Verae Print Stamp under Program Files or ARP ☐
0.3 Spooler running (Get-Service Spooler) ☐
0.4 Note HelperVersion on artifact (NSIS version resource / MSI ProductVersion) = tree ☐
0.5 Record SmartScreen / AV prompts (unsigned expected until Authenticode live) ☐

VM A — NSIS primary (baseline)

Install: elevated setup.exe (GUI).

# Step Result / notes ☐
A.1 Run setup.exe elevated; key wizard complete or skip per test plan ☐
A.2 Confirm Program Files\Verae\PrintStamp\bin\verae-print.exe + helper ☐
A.3 Confirm printers (IPP and/or Local Port) present names: __________ ☐
A.4 Confirm scheduled task Verae Print Helper principal: __________ ☐
A.5 Print one-page PDF → stamp path OK (receipt/CID; never jobId-only) ☐
A.6 Start Menu: Setup signing key, Start print helper, Collect diagnostics ☐
A.7 Uninstall via ARP; printers/task removed; reboot optional ☐

VM A sign-off: pass / fail · log path: ___________________________ · initials: _____


VM B — MSI files-only (safe today)

Install: full MSI with printers skipped (CAs still commented — do not expect queues).

msiexec /i VeraePrintStamp-windows-amd64-0.3.6.msi /qn /norestart ^
  VERAE_SKIP_KEY_SETUP=1 VERAE_SKIP_PRINTERS=1 VERAE_CHANNEL=zapier

UI install is fine for smoke; /qn proves fleet syntax.

# Step Result / notes ☐
B.1 msiexec as above (or UI); exit code recorded code: _____ ☐
B.2 Confirm InstallDir: bin\, scripts\ (incl. install-printer.ps1), LICENSE, README ☐
B.3 ARP entry: Publisher Verae; DisplayVersion = HelperVersion ☐
B.4 Start Menu shortcuts resolve to helper / diag ☐
B.5 Optional: elevated manual scripts\install-printer.ps1 -InstallDir "…" (script parity outside CA) ☐
B.6 msiexec /x {ProductCode} /qn — files + Start Menu gone; no orphan HKLM\Software\Verae\PrintStamp ☐

Pass (files-only): clean install/uninstall; version match; no reboot required; props accepted.
Fail: missing StageFull binaries at light time; UpgradeCode collision with tray MSI; unexpected elevation refuse.

VM B sign-off: pass / fail · ProductCode: _____________ · initials: _____


VM C — MSI printer CA (still left / blocked until CAs enabled)

Prerequisites: enable deferred CAs in Product-Full.wxs via ../scripts/enable-printer-cas.ps1 (or manually unwrap DEFERRED_PRINTER_CAS:OFF markers); rebuild MSI. dual-ship-smoke.ps1 prints VM C BLOCKED while markers are disabled — enabling is not a dual-ship pass.

# Step Result / notes ☐
C.0 CAs scheduled; conditions NOT Installed + VERAE_SKIP_PRINTERS<>"1" (install); REMOVE~="ALL" (uninstall) ☐
C.1 Default MSI install (or VERAE_SKIP_PRINTERS=0) elevated ☐
C.2 Program Files layout matches VM A (bin\, scripts\, docs) ☐
C.3 IPP loopback 127.0.0.1:8631 and/or Local Port names match NSIS ☐
C.4 Scheduled task Verae Print Helper (same principal / trigger class as A) ☐
C.5 Start Menu OK; one-page PDF stamp path (receipt/CID evidence) ☐
C.6 VERAE_SKIP_PRINTERS=1 skips CA; default installs printers ☐
C.7 msiexec /x removes printers, task, files, Start Menu; no orphan HKLM ☐
C.8 Repair / same-version upgrade smoke (AllowSameVersionUpgrades) ☐

Do not mark dual-ship complete until VM C matches VM A on a clean image.

VM C sign-off: pass / fail / blocked (CAs commented) · initials: _____


Side-by-side comparison (tick when observed)

Check NSIS (A) MSI files (B) MSI+CA (C)
Version = HelperVersion ☐ ☐ ☐
Program Files layout ☐ ☐ ☐
Start Menu shortcuts ☐ ☐ ☐
ARP uninstall clean ☐ ☐ ☐
IPP + Local Port printers ☐ N/A ☐
Scheduled task helper ☐ N/A ☐
Key wizard / first-run key ☐ skip prop ☐
msiexec /qn N/A ☐ ☐
Authenticode (signtool) ☐ still left ☐ still left ☐ still left

After the VMs (do not skip)

Gate ☐
Record logs + exit codes in release notes / dual-ship folder ☐
Authenticode still left → SmartScreen warn is not promote-ready ☐
Update site DOWNLOADS-MANIFEST digests only after upload (0.3.6 rows are TBD until then); hash with fill-manifest-sha256.ps1 (no upload) ☐
Thin-NSIS only when DUAL-SHIP exit checklist A–D all checked ☐

Overall dual-ship gate: open / closed · notes: _______________________________