fix: keep winget output out of Inno path#929
Conversation
|
Codex review: needs real behavior proof before merge. Reviewed July 6, 2026, 5:55 AM ET / 09:55 UTC. Summary Reproducibility: yes. from source inspection and a PowerShell semantics check: native command output inside the current function can be captured as return output when assigned to Review metrics: none identified. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Proof guidance:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Merge the narrow installer-script fix after the contributor adds redacted current-head terminal output or logs for the Do we have a high-confidence way to reproduce the issue? Yes from source inspection and a PowerShell semantics check: native command output inside the current function can be captured as return output when assigned to Is this the best way to solve the issue? Yes, the proposed implementation is the narrowest maintainable fix for the bug: host the native output and capture the native exit code before recursion returns the compiler path. Merge readiness still depends on contributor proof and required validation reporting. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 2c720251b293. Label changesLabel changes:
Label justifications:
Evidence reviewedWhat I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b4863a58bf
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| Write-Step "Installing Inno Setup with winget" | ||
| winget install --id JRSoftware.InnoSetup -e --accept-source-agreements --accept-package-agreements --disable-interactivity | ||
| if ($LASTEXITCODE -ne 0) { | ||
| winget install --id JRSoftware.InnoSetup -e --accept-source-agreements --accept-package-agreements --disable-interactivity 2>&1 | Out-Host |
There was a problem hiding this comment.
Avoid redirecting winget stderr under Windows PowerShell
When this helper is run with -InstallInno from the default Windows PowerShell 5.1 host, merging native stderr with 2>&1 is still affected by the script's $ErrorActionPreference = "Stop"; Microsoft's native-command docs note that this was changed only beginning in PowerShell 7.2 (https://learn.microsoft.com/powershell/scripting/learn/shell/running-commands#handling-output-and-errors). If winget emits any non-fatal diagnostic on stderr before exiting 0, the script can terminate here before $wingetExitCode is captured or ISCC is resolved, breaking the first-run installer path this change is meant to fix. Keep stderr on the native error stream, or temporarily relax the preference while forwarding it.
Useful? React with 👍 / 👎.
Summary
wingetstdout/stderr visible without returning it fromResolve-InnoCompilerValidation
InstallerIssAssertionTests12/12 passedFound while building a fresh side-by-side dev installer for the onboarding VM pass.