Previous run produced "The system cannot find the path specified."
with exit 2 right after ISCC's banner — ISPP loaded fine (Martijn Laan
copyright printed) but then 200ms of work and silent path failure.
Three changes to isolate/fix:
- Sync `[System.IO.Directory]::SetCurrentDirectory` alongside
Push-Location. PowerShell's Push-Location updates the PSDrive
location but not the .NET process cwd that native exes inherit, so
ISCC may have been resolving `..\dist` against the wrong dir.
- Bake AppVersion into a temp `.gen.iss` instead of passing
`/DAppVersion=...`, removing /D from the equation.
- Pass `/O<absolute path>` so OutputDir resolution doesn't depend on
cwd at all.
Also dumps the iscc log file contents and prints PS-vs-.NET cwd before
and after Push-Location so the next run shows whether the divergence
was real.
installer/webhook-server.iss is an Inno Setup 6 script that:
- Installs to %ProgramFiles%\WebhookServer
- Creates Start Menu folder + GUI shortcut (and optional desktop icon)
- Runs install-service.ps1 post-install to register the Windows Service
- Runs uninstall-service.ps1 pre-uninstall to remove it
- Bundles the webhook-server icon for the installer / uninstaller
scripts/build-installer.ps1 is the local build helper: publishes both
projects, finds ISCC.exe (PATH or standard install path), compiles the
installer with the version pulled from Directory.Build.props, drops the
output in dist/.
.github/workflows/ci.yml runs build + test on every push/PR to main.
.github/workflows/release.yml triggers on v* tags (or manual dispatch),
runs tests, installs Inno Setup via choco, builds the installer, and
attaches the .exe to a GitHub Release. Pre-1.0 versions are flagged
prerelease automatically.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>