They do work, you just are not using the correct variable – there is a list in
man wine, here are the ones you will need:
- Specifies the Windows architecture to support. It can be set either to
win32(support only 32-bit applications), or to
(support both 64-bit applications and 32-bit ones in WoW64 mode).
- The architecture supported by a given Wine prefix is set at prefix creation time and cannot be changed afterwards. When running
with an existing prefix, Wine will refuse to start if
match the prefix architecture.
- If set, the content of this variable is taken as the name of the directory where wine stores its data (the default is
This directory is also used to identify the socket which is used to
communicate with the wineserver. All wine processes using the same
wineserver (i.e.: same user) share certain things like registry,
shared memory, and config file. By setting
values for different wine processes, it is possible to run a number of
truly independent wine processes.
So to create a 32bit wineprefix:
export WINEARCH="win32" export WINEPREFIX=~/.wine-PROGRAM-NAME/ wineboot -u
wine msiexec /i /PATH/TO/INSTALLER.msi
in the same terminal, after the export command, or use
env as I explained here to use the installers in the wine path – so:
env WINEPREFIX=~/.wine32/" wine msiexec /i SteamInstall.msi
The AppDB entry for Steam indicates you may need to fix font issue with steam in wine, there is a answer on that here. Comment below this post here if you have issues.
You can read up a bit on linux directory paths here.