Skip to content

ci(release): fetch Windows App Runtime before Inno Setup; version-aware extension packages#48

Closed
pexatar wants to merge 1 commit into
mainfrom
fix/ci-installer-runtime-download
Closed

ci(release): fetch Windows App Runtime before Inno Setup; version-aware extension packages#48
pexatar wants to merge 1 commit into
mainfrom
fix/ci-installer-runtime-download

Conversation

@pexatar

@pexatar pexatar commented Jun 3, 2026

Copy link
Copy Markdown
Owner

Problem

The Release workflow (.github/workflows/release.yml) failed on every tag at the Build installer and portable ZIP step. Installer/PassKey.iss line 47 bundles WindowsAppRuntimeInstall-x64.exe as a [Files] Source, but that binary is git-ignored (too large to commit) and CI never downloaded it. On a fresh runner Inno Setup aborts:

Source file "...Installer/WindowsAppRuntimeInstall-x64.exe" does not exist

Local builds worked only because the file already existed on the dev machine. v2.0.0 was the first tag to use this CI (added in #41); it failed and was released manually.

Fix

  • scripts/build-installer.ps1 — before invoking Inno Setup, ensure the redistributable is present; if missing, download it via the existing Installer/Download-Runtime.ps1, which pins the authoritative aka.ms URL to the WindowsAppSDK package version in use (1.8.260416003). Verified the URL returns the real signed binary (MZ PE header) and the version matches Microsoft.WindowsAppSDK in PassKey.Desktop.csproj.

Minor

  • make-chrome-zip.ps1 / make-xpi.ps1 — read version from manifest.json (currently 1.0.1) instead of hardcoding 1.0.0, so the package filename matches the extension. (These were previously untracked; the corrected versions are committed here.)

Testing

  • Confirmed https://aka.ms/windowsappsdk/1.8/1.8.260416003/windowsappruntimeinstall-x64.exe resolves to a real download.microsoft.com binary starting with MZ.
  • Verified both make scripts parse 1.0.1 from their manifests.
  • Full end-to-end is exercised by the next tagged release; can also be triggered via a throwaway tag.

🤖 Generated with Claude Code

… Setup

The release workflow failed on every tag at "Build installer and portable ZIP":
Installer/PassKey.iss bundles WindowsAppRuntimeInstall-x64.exe as a [Files]
Source, but that binary is git-ignored (too large to commit) and CI never
fetched it, so Inno Setup aborted with "Source file ... does not exist" on a
fresh runner. Local builds worked only because the file existed on the dev box.

build-installer.ps1 now ensures the redistributable is present before invoking
Inno Setup, downloading it via Installer/Download-Runtime.ps1 (authoritative
aka.ms URL pinned to WindowsAppSDK 1.8.260416003) when missing.

Also make make-chrome-zip.ps1 / make-xpi.ps1 read the version from manifest.json
instead of hardcoding "1.0.0", so the package filename matches the extension.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@pexatar pexatar closed this Jun 3, 2026
@pexatar pexatar deleted the fix/ci-installer-runtime-download branch June 3, 2026 23:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant