Skip to content

Run the vcrun verbs unattended - #244

Merged
frankea merged 1 commit into
frankea:mainfrom
slevin-7:vcrun-unattended
Aug 29, 2026
Merged

Run the vcrun verbs unattended#244
frankea merged 1 commit into
frankea:mainfrom
slevin-7:vcrun-unattended

Conversation

@slevin-7

Copy link
Copy Markdown
Contributor

Whisky runs winetricks without -q, so the vc_redist installer is not
unattended: it shows its setup wizard inside the prefix and waits for a
click that nothing in the Dependencies panel prompts for. The process
never exits, winetricks never writes the log entry, and the panel keeps
reporting "Not Installed" even when the runtime installed fine
(#233).

Pass -q (W_OPT_UNATTENDED, which adds /q to the redist install) for the
vcrun verbs, alongside the existing --force. Scoped to the vcrun path
rather than globally until other verbs are checked for unattended
behavior.

@codecov

codecov Bot commented Aug 29, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 1 line in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
Whisky/Utils/Winetricks+Install.swift 0.00% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

Whisky runs winetricks without -q, so the vc_redist installer is not
unattended: it shows its setup wizard inside the prefix and waits for a
click that nothing in the Dependencies panel prompts for. The process
never exits, winetricks never writes the log entry, and the panel keeps
reporting "Not Installed" even when the runtime installed fine
(frankea#233).

Pass -q (W_OPT_UNATTENDED, which adds /q to the redist install) for the
vcrun verbs, alongside the existing --force. Scoped to the vcrun path
rather than globally until other verbs are checked for unattended
behavior.
@frankea

frankea commented Aug 29, 2026

Copy link
Copy Markdown
Owner

Verified hands-on on the merged tree rather than from the diff: Debug build of the app target compiles the changed file, the full WhiskyKit suite passes (1304 XCTest, 267 Swift Testing), SwiftLint strict and SwiftFormat 0.58.7 clean.

The claim checks out against the bundled winetricks (20260125): -q sets W_OPT_UNATTENDED, options are consumed before the verb so --force -q vcrun2019 is a valid order, and every load_vcrun* runs the redist with ${W_OPT_UNATTENDED:+/q}, so scoping to the vcrun prefix covers all twelve verbs consistently. Keeping --force alongside is right, since that is what bypasses the stale-SHA abort.

I hit exactly the symptom this fixes earlier today while smoke testing 3.7.0: vc_redist.x86.exe sat under the burn bootstrapper for minutes with the install sheet showing 24 log lines and no hint. Thank you for tracking it down.

The only thing blocking the merge was an adjacent-insert conflict in CHANGELOG.md against entries that landed today; I rebased the branch onto main and resolved it by keeping both sides, no change to the Swift. Merging.

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