Pass --force to winetricks for the vcrun verbs - #237
Conversation
Microsoft rotates the vc_redist binaries in place, so the SHA256 sums pinned in the bundled winetricks go stale between releases. In unattended mode winetricks then aborts with exit 1 on the checksum mismatch and the Dependencies panel silently stays on "Not Installed" (frankea#233, upstream Winetricks/winetricks#2195). Scoped to verbs with the vcrun prefix; everything else keeps checksum enforcement.
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
frankea
left a comment
There was a problem hiding this comment.
Verified hands-on against the bundled winetricks (20260125) rather than from the diff. Sourcing it in library mode with a wrong checksum and stdin closed the way Whisky's Process leaves it: without --force, w_askpermission reads EOF and w_die exits 1, which is exactly the silent failure in #233; with WINETRICKS_FORCE=1, w_verify_sha256sum warns "caveat emptor" and returns 0. Option order holds too (the pre-init loop at winetricks:5378 consumes leading options), so ["--force", verb] is right. The merged tree builds the app, passes the full kit suite and both lints.
Two things I learned on the way, neither yours to fix here: cabextract has been bundled and on the install PATH since 2024, so the "Cannot find cabextract" in the issue came from running winetricks by hand in a terminal; and the install is not unattended (no -q), so the vc_redist wizard appears and waits, which is the likely "installer hangs after installing". I will follow up on #233.
Merging.
…ankea#237) Microsoft rotates the vc_redist binaries in place, so the SHA256 sums pinned in the bundled winetricks go stale between releases. In unattended mode winetricks then aborts with exit 1 on the checksum mismatch and the Dependencies panel silently stays on "Not Installed" (frankea#233, upstream Winetricks/winetricks#2195). Scoped to verbs with the vcrun prefix; everything else keeps checksum enforcement. (cherry picked from commit 88e51ae)
First of the three changes agreed in #233.
Microsoft rotates the vc_redist binaries in place, so the SHA256 sums pinned in the bundled winetricks go stale between releases (upstream: Winetricks/winetricks#2195). In unattended mode winetricks aborts with exit 1 on the mismatch, and the Dependencies panel just flips back to "Not Installed".
This passes
--forceto winetricks for verbs with thevcrunprefix only — everything else keeps checksum enforcement. Verified the argument order against the bundled winetricks: options must precede the verb.Includes a CHANGELOG entry.