Winetricks / winetricks

Winetricks is an easy way to work around problems in Wine
GNU Lesser General Public License v2.1
2.66k stars 389 forks source link

Rewrite new style wow64 support #2191

Open vitlav opened 4 months ago

vitlav commented 4 months ago

This rewrite done in continue to #2030 and #2143 and pretent to be better improvement than #2189.

The first commit removed wine binary arch detection (these binaries can be wrapper scripts) and add new style wow64 detection by missed wine64 command. The second commit fix environment expand macro to get correct %ProgramFiles% path. And w_try_regsvr is renamed to w_try_regsvr32 to be more consisency with other 32/64 functions. Now some code is already using w_try_regsvr32 and this code is broken without this commit.

vitlav commented 3 months ago

I've been testing these changes for a month now, and everything is working. Can someone else report the results of their testing?

jre-wine commented 3 months ago

I tested it on Debian testing (wine 9.0~repack-4, old style WoW64 in /usr/lib/wine/, with /usr/bin/wine being a wrapper script and /usr/bin/wine64 not existing):

32-bit and 64-bit prefixes are detected correctly.

Your implementation removed the distinction between classic and new style WoW64. I don't know how important that is for debugging, but I prefer not knowing this over a non-working Winetricks.

Unfortunately the Debian-specific missing /usr/bin/wine64 still leads to warning: wine cmd.exe /c echo '%AppData%' returned empty string, error message ""

So to get a functional Winetricks on current Debian I need either

vitlav commented 3 months ago

Any suggestions?

austin987 commented 2 months ago

I don't think this is the right approach, while its simpler, it doesn't allow us to detect the different wine setups.