Skip to content

Fix Inno Setup SourceDir; ship tray icon assets#18

Merged
agr77one merged 4 commits into
mainfrom
fix/iss-sourcedir
Jun 15, 2026
Merged

Fix Inno Setup SourceDir; ship tray icon assets#18
agr77one merged 4 commits into
mainfrom
fix/iss-sourcedir

Conversation

@agr77one

Copy link
Copy Markdown
Owner

Third installer-build fix. After #15 (AHK download) and #17 (MinVersion comment),
the build reached Inno Setup compile and failed:

Error on line 66 in installer.iss: The system cannot find the path specified.

Line 66 is SetupIconFile=scripts\assets\flowkey.ico. All Source paths are
written relative to the repo root, but Inno resolves relative paths against the
.iss directory (installer\) by default — the build log shows
OutputDir=out resolving to installer\out.

  • SourceDir=.. → all Source paths resolve against the repo root, and
    OutputDir lands at <root>\out (where build.ps1 / CI look for the exe).
  • Ship scripts\assets\* (the tray .ico; was not in [Files]) + uninstall cleanup.

Verifying by a workflow_dispatch build on this branch before merge.

agcycle and others added 4 commits June 15, 2026 12:32
The installer build got past the MinVersion fix (#17) and then failed at
Inno Setup compile:

  Error on line 66 in installer.iss: The system cannot find the path specified.

Line 66 is SetupIconFile=scripts\assets\flowkey.ico. Every Source path in the
script (dist\, vendor\, scripts\, SetupIconFile, LICENSE, README.md) is written
relative to the repo root, but Inno Setup resolves relative paths against the
.iss file's own directory by default — which is installer\, not the root. (The
build log confirms this: OutputDir=out resolved to installer\out.) So the icon
read failed first, and the [Files] sources would have failed next.

Fix: set SourceDir=.. so all Source paths resolve against the repo root. This
also lands OutputDir at <root>\out — exactly where build.ps1 and
release-installer.yml look for the .exe (previously a latent mismatch).

Also ship scripts\assets\* (the .ico the tray loads at runtime via
A_ScriptDir "\assets\flowkey.ico") — [Files] copied scripts\grammarFix.ahk,
lib, and ui but not assets, so the installed app would silently have no tray
icon. Added matching [UninstallDelete] cleanup.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
With SourceDir fixed, the compile reached the [Code] section and failed:

  Error on line 284 in installer.iss: Column 29: 'BEGIN' expected.

Inno Setup Pascal { } comments do NOT nest, so the {app} constant inside the
CurUninstallStepChanged doc-comment closed the comment at its '}', and the
trailing "are removed but BEFORE..." text was parsed as code. Reword the
comment to avoid a brace constant (the other {app}/{localappdata} refs in
[Code] are inside single-quoted ExpandConstant strings, which are safe).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The previous fix replaced {app} but my replacement text contained a literal
"{ }" — whose '}' closed the brace comment early all over again (error just
moved to line 287). Reworded with zero brace characters in the comment body.
Verified: every brace remaining in [Code] is either a matched comment
delimiter with no inner braces, or a constant inside a single-quoted string.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Document the three installer.iss fixes (MinVersion comment, SourceDir,
[Code] brace comment) + the shipped tray-icon assets — the build workflow's
first green run produced Flowkey-Setup-1.6.0.exe.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@agr77one agr77one merged commit 3087922 into main Jun 15, 2026
5 checks passed
@agr77one agr77one deleted the fix/iss-sourcedir branch June 15, 2026 16:45
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.

2 participants