Build the C++ installer helper before running iscc - #4
Conversation
With the Inno Setup step fixed, the run got as far as iscc and stopped there:
Error on line 54 in ...\installer.iss: Source file
"...\src\installer\bin\Release\installer-helper.dll" does not exist.
Compile aborted.
installer.iss bundles a C++ helper DLL that is no part of the .NET build.
src/Makefile gets it for free by building the whole solution; this workflow
builds projects individually, so that signing can run between the app build
and packaging, and nothing was building the helper.
Win32 is the only platform its vcxproj defines, and its OutDir
(bin\$(Configuration)\) is already exactly the path the .iss expects, so no
path wiring is needed. A following verify step asserts the DLL exists, so a
toolset problem reports itself instead of resurfacing as an iscc parse error.
Checked the rest of the payload rather than fixing one file per run: every
other Source: in the .iss resolves to the wincompose.csproj output (including
the satellite language dirs) or to files in the tree, so this is the last
missing piece.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011PNCWo57UmMMfaNWyfJMBG
|
Warning Review limit reached
Next review available in: 12 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Reviewer's guide (collapsed on small PRs)Reviewer's GuideThis PR updates the release GitHub Actions workflow to explicitly build the C++ installer helper DLL before running Inno Setup (iscc), and adds a verification step to ensure the DLL exists so payload issues are caught early in the pipeline. Sequence diagram for updated release workflow around isccsequenceDiagram
participant GitHubActionsRunner as GitHubActionsRunner
participant msbuild as msbuild
participant PowerShell as PowerShell
participant iscc as iscc
GitHubActionsRunner->>msbuild: msbuild src\installer\installer-helper.vcxproj -p:Configuration=Release -p:Platform=Win32
GitHubActionsRunner->>PowerShell: Test-Path src/installer/bin/Release/installer-helper.dll
PowerShell-->>GitHubActionsRunner: [throw if installer-helper.dll missing]
GitHubActionsRunner->>iscc: iscc installer.iss
iscc-->>GitHubActionsRunner: Build WinCompose-Setup-<ver>.exe
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Summary
The Inno Setup fix worked — this run got all the way to
iscc, which then stopped on a missing payload file:installer.issbundles a C++ helper DLL that is no part of the .NET build.src/Makefilegets it for free by building the whole solution; this workflow builds projects individually — deliberately, so signing can run between the app build and packaging — and nothing was building the helper.Win32is the only platform itsvcxprojdefines, and itsOutDir(bin\$(Configuration)\) is already exactly the path the.issexpects, so no path wiring is needed. A following verify step asserts the DLL exists, so a toolset problem reports itself directly instead of resurfacing later as anisccparse error.Rather than fix one file per run
I've now burned two rounds discovering the next missing piece one at a time, so I checked the whole payload instead: every other
Source:in the.issresolves either to thewincompose.csprojoutput ({#BINDIR}— including the ~40 satellite language directories) or to files already in the tree (rules/*.txt).installer-helper.dllis the last gap.Progress so far
iscc)Remaining risk
The
vcxprojdeclaresPlatformToolset v143while the runner reports VS 18; if v143 isn't installed there, this step fails with a clear toolset message and needs a-p:PlatformToolset=override. The steps afteriscc— portable packaging, asset assembly, release upload — still haven't executed.Testing
Once merged: Actions → Release → Run workflow with
tag=PK-0.9.16, which builds and attaches the assets to the already-published release.Generated by Claude Code
Summary by Sourcery
Build the C++ installer helper and verify its output before running the Windows installer packaging step in the release workflow.
Build: