169

How do I create a 32-bit Wine prefix on Ubuntu 12.04 64-bit?

ish
  • 139,926
Levan
  • 10,880

7 Answers7

199

To create a 32-bit WINE prefix on a 64-bit Ubuntu system, you need to open a terminal and run the following command:

WINEPREFIX="$HOME/prefix32" WINEARCH=win32 wine wineboot
  • Where WINEPREFIX is the directory for the prefix
  • This directory must not already exist or you will get an error! Please do not manually create it in Nautilus or with mkdir./
tokland
  • 103
  • 6
ish
  • 139,926
  • thx! I have been fighting with this for a week :(, the message could be more specific.. – Aquarius Power Apr 30 '13 at 19:23
  • You can use double quotes everywhere, no need for single quotes :) – Smile4ever Jan 01 '15 at 19:52
  • 2
    When I run this command, Wine asks for an absolute path (so /home/username/prefix32 rather than ~/prefix32 – shea Mar 16 '15 at 10:17
  • @shea edited the OP accordingly – Shelvacu Aug 09 '15 at 22:51
  • 1
    Also, you can omit the quotes altogether. – Smile4ever Feb 28 '16 at 09:39
  • fixme:storage:create_storagefile Storage share mode not implemented. err:mscoree:LoadLibraryShim error reading registry key for installroot err:mscoree:LoadLibraryShim error reading registry key for installroot err:mscoree:LoadLibraryShim error reading registry key for installroot err:mscoree:LoadLibraryShim error reading registry key for installroot fixme:storage:create_storagefile Storage share mode not implemented. fixme:iphlpapi:NotifyAddrChange (Handle 0x10ee8a0, overlapped 0x10ee8ac): stub wine: configuration in '/home/test/.wine' has been updated. – Bonn Nov 02 '17 at 06:24
  • Will this work: "sudo apt-get install wine32" ? – haytham-med haytham Jun 28 '18 at 13:56
  • I tried to perform this, to get a 32 bit Wine prefix, with sudo -i and my password, but... The Ubuntu system tells me: "wine: '/home/jjpg' is not owned by you, refusing to create a configuration directory there" How could it be if I'm the only one SuperUser here? – Juan Sep 06 '21 at 18:01
58

This Is how I did it. The above answer - for me - did not work.

First I deleted the Wine folder with this command:

rm -r ~/.wine

If it tells you that directory is not empty just add the -f (force) flag. Note that this will remove any windows applications installed in this prefix!

Your command should look something like this:

rm -r -f ~/.wine

And then create a 32 bit prefix with this command:

WINEARCH=win32 WINEPREFIX=~/.wine wine wineboot
Levan
  • 10,880
  • 25
    First, you shouldn't have to write sudo in the front. Also, this will delete the entire virtual windows drive. – Shelvacu May 03 '14 at 08:14
  • 17
    That's not correct answer, because u're deleting 64bit version. You just have to create another PREFIX in order to have them both. – Alexander Kim Oct 16 '14 at 10:40
  • 7
    Where you wrote "write sudo in front", the correct solution is to add -f, as in rm -rf ~/.wine. Adding sudo won't do anything. Also, WINEPREFIX=~/.wine is redundant, since that's the default location. – Brendan Long Nov 08 '14 at 21:12
  • 5
    Why not just create a .wine32 directory instead? – Mateen Ulhaq Jun 06 '17 at 10:47
  • @Levan how on earth did it not work for you? Your command deletes the entire existing wine directory, when all you needed to do was create a separate wine32 prefix - no need to delete an existing one. – numbermaniac Jan 21 '18 at 06:54
  • It was the only solutions that worked for me! – Gilberto Albino May 22 '18 at 00:08
15

Just creating a wine32 prefix/directory (without wine64 prefix/directory) will not work. As was suggested above (but not fully written out) - and if you want to avoid the need to use winecfg (which is annyoing in automation - you need to somehow close it), here is the full solution: create a wine64, then a wine32 directory. If you use winetricks to check it (it gives a warning for wine64 directories), it will report both correctly (wine64 gives the warning, since it's 64, wine32 does not, since it's 32.). The solution;

rm -Rf ./wine   # carefull, this deletes your entire wine config (fine if you want to start afresh)

WINEPREFIX=~/.wine wineboot

...wait...

WINEPREFIX=~/.wine32 WINEARCH=win32 wineboot

After this, you can:

WINEPREFIX=~/.wine32 WINEARCH=win32 your_32bit_executable.exe

WINEPREFIX=~/.wine WINEARCH=win64 your_64bit_executable.exe
Roel
  • 159
  • It looks like on my Ubuntu Trusty 14.04 I did not need to delete the amd64 (win64) ./wine folder. I had 3 programs previously installed and they kept working. I did only create a specific win32 directory ./wine32 Next I installed .NET 4.0 with the command $ WINEPREFIX=~/.wine32 winetricks dotnet40 and it worked flawlessly. – Antonio Oct 13 '15 at 00:24
3

Test if you already have multiarch enabled:

dpkg --print-foreign-architectures | grep -q i386 && sudo dpkg --add-architecture i386

Then install wine32:

sudo apt-get update && sudo apt-get install wine32

And finally, don't delete your 64-bit wine install. just rename it to .wine64 then create a new .wine folder for your 32-bit apps:

mv ~/.wine ~/.wine64 && WINEARCH=win32 wineboot

3

I was running into the same issue.

Type WINEARCH=win32 WINEPREFIX=~/.wine winecfg

It should start to download the drivers necessary. I believe this issue is due to a problem occurring during the normal download. For me it my internet dropped as it was originally downloading the drivers.

evan
  • 51
  • 1
1

After erasing .wine32, installing the .NET 4.0 with the command $ WINEPREFIX=~/.wine32 winetricks dotnet40, worked for me.

kudos Antonio

SwissK
  • 11
  • 3
1

handy shell .rc snippet

alias wine32='WINEARCH=win32 WINEPREFIX=~/.win32 wine'
alias wine64='WINEARCH=win64 WINEPREFIX=~/.win64 wine'
win32() {
    export WINEARCH=win32
    export WINEPREFIX=~/.win32
}
win64() {
    export WINEARCH=win64
    export WINEPREFIX=~/.win64
}
Akhil
  • 556