OK, I know why I had those results yesterday: it was a consequence of my 'finger trouble', resulting in my not assigning WINEARCH=win32 in my first experiment.
If I have WINE built with both win32 and win64 USE flags, if I don't assign WINEARCH=win32 and install a 32-bit Windows application then WINE creates a
$WINEPREFIX/Program Files (86)/ directory as well a
$WINEPREFIX/Program Files/ directory, and installs the 32-bit Windows application's directory under
$WINEPREFIX/Program Files (86)/.
If I have WINE built with both win32 and win64 USE flags, if I do assign WINEARCH=win32 and install a 32-bit Windows application then WINE does not create a
$WINEPREFIX/Program Files (86)/ directory, only a
$WINEPREFIX/Program Files/ directory, and installs the 32-bit Windows application's directory under
$WINEPREFIX/Program Files/. In this case I do not have any error messages and no problems running the 32-bit application. As evidence, below I show what happens when I install a 32-bit Windows application, run it successfully, reboot and run it successfully again.
- Code: Select all
fitzcarraldo@meshedgedx ~ $ cd
fitzcarraldo@meshedgedx ~ $ pwd
/home/fitzcarraldo
fitzcarraldo@meshedgedx ~ $ rm -rf .wine-winmd5sum
fitzcarraldo@meshedgedx ~ $ export WINEPREFIX=$HOME/.wine-winmd5sum
fitzcarraldo@meshedgedx ~ $ export WINEARCH=win32
fitzcarraldo@meshedgedx ~ $ winecfg
wine: created the configuration directory '/home/fitzcarraldo/.wine-winmd5sum'
fixme:system:SetProcessDPIAware stub!
fixme:iphlpapi:NotifyAddrChange (Handle 0x90fe914, overlapped 0x90fe918): stub
wine: configuration in '/home/fitzcarraldo/.wine-winmd5sum' has been updated.
fixme:mixer:ALSA_MixerInit No master control found on HD-Audio Generic, disabling mixer
fitzcarraldo@meshedgedx ~ $ cd .wine-winmd5sum/drive_c/
fitzcarraldo@meshedgedx ~/.wine-winmd5sum/drive_c $ cp ~/Downloads/Install-winMd5Sum.exe .
fitzcarraldo@meshedgedx ~/.wine-winmd5sum/drive_c $ # Now I'm going to install the 32-bit Windows application:
fitzcarraldo@meshedgedx ~/.wine-winmd5sum/drive_c $ wine ./Install-winMd5Sum.exe
fitzcarraldo@meshedgedx ~/.wine-winmd5sum/drive_c $ # It installed OK. Now I'm going to run the application:
fitzcarraldo@meshedgedx ~/.wine-winmd5sum/drive_c $ ls
Install-winMd5Sum.exe Program Files users windows
fitzcarraldo@meshedgedx ~/.wine-winmd5sum/drive_c $ ls Program\ Files/
Common Files Internet Explorer winMd5Sum
fitzcarraldo@meshedgedx ~/.wine-winmd5sum/drive_c $ wine ./Program\ Files/winMd5Sum/winMd5Sum.exe
fitzcarraldo@meshedgedx ~/.wine-winmd5sum/drive_c $ # It works.
Reboot.
- Code: Select all
fitzcarraldo@meshedgedx ~ $ cd
fitzcarraldo@meshedgedx ~ $ pwd
/home/fitzcarraldo
fitzcarraldo@meshedgedx ~ $ export WINEPREFIX=$HOME/.wine-winmd5sum
fitzcarraldo@meshedgedx ~ $ export WINEARCH=win32
fitzcarraldo@meshedgedx ~ $ wine .wine-winmd5sum/drive_c/Program\ Files/winMd5Sum/winMd5Sum.exe
fitzcarraldo@meshedgedx ~ $ # It works.
I don't have a 64-bit Windows application to try, but WINE would also install that under $WINEPREFIX/drive_c/Program\ Files/ and I assume it would coexist with any 32-bit applications' executables there.
So, in summary, I don't have the problem that you have with multilib 64-bit WINE; I can run 32-bit applications if I export WINEARCH=win32 first.
However, as the number of 64-bit Windows applications seems to be few and far between, the workaround of building WINE to run only 32-bit applications by using USE="win32 -win64" is adequate.