ID:2664567
 
Things change has WINE progresses its support for window programs.
If you aren't sure by now, WINE means Wine Is An Emulator, and it's one of the many ways to play Windows games on a Linux OS. It's a compatibility layer that translates window calls to linux calls. It works just as good as if you were running a Windows OS, however, it is not completed and does not support everything. And as progress goes on, things can break (eventually gets fixed)

So if you happen to have an issue in the future, use PlayOnLinux instead to revert back to the last time a software was running.

------------------------------------
Tutorial
-----------------------------------
1. Find the distro that is associated with yours here: https://wiki.winehq.org/Download and follow their installation instructions.

2. We're going to download winetricks. Copy and paste this code into your terminal:

cd "${HOME}/Downloads"
wget https://raw.githubusercontent.com/Winetricks/winetricks/ master/src/winetricks
chmod +x winetricks

3. Now, we to do one more thing before we can actually get to the final step: WINEARCH=win32 WINEPREFIX=~/.wine winecfg

4. Finally, all we need to do is install internet explorer 8, and we can use BYOND. In terminal type this: sh winetricks ie8
Then follow the installation instructions, and then install BYOND.

------------------------------------------------------------------
Trouble-shooting
------------------------------------------------------------------

BYOND is no longer working in the latest wine.
Solution ---> Revert back to a later version of Wine 32bit with Ie8 installed using PlayOnLinux.


I configured WINE before step 3 in the guide
Solution ------> Open terminal where you downloaded winetricks, and type this sh winetricks. Then it will open a GUI of winetricks. At the bottom it will say delete the default prefix. Delete it, and then follow step 3 again!
Hey im having some trouble installing this since it says my system is a 64 bit when a 32 is needed and when i try the trouble shooting I dont see a way to delete the default prefix and i just freshly installed wine on this computer.

Also what exactly does ie8 do for byond im really new to the linux shit don't know whats what. does it help with the problem of byond not letting you login? cause that really is the thing i want to fix the most
@Luxur, to remove your 64 bit prefix and make a new one run:
$ rm -r ~/.wine
$ WINEARCH=win32 winetricks -q ie8

Then extract the byond zip to ~/.wine/drive_c/

And then launch BYOND:
$ wine ~/.wine/drive_c/byond/bin/byond.exe

Winetricks will support ie8 on a win64 prefix soon, and in my testing BYOND in a win64 prefix works just as good as with win32.

Winetricks downloads and installs native ie8 from Microsoft's website, which implements some things that WINE doesn't right now. However the popup interfaces in SS13 often need newer than ie8, so the workaround of installing native ie8 often is insufficient depending on the SS13 server you join. Newer native IE installs like ie11 don't work right now.

Buying CrossOver from CodeWeavers with their support package is one option I'm considering to try to get them to implement the missing features in WINE, if I'm not able to figure it out.
I am getting a pretty serious issue. I try to run byond.exe and it gets about 60% finished and then crashes. I am using a 32 bit prefix and have ie8 installed. I can post the error message if it would help but if anyone knows how to fix this problem I would greatly appreciate it
@Cleeb
Sounds like an issue particular to your setup. Installing BYOND on a new system?
Likely missing a i386 library, if you are installing BYOND on a new Linux system. I could share my i386 Debian packages installed if you want so you can install missing ones.
Also try to install the latest wine version... 6.5, and try again with clean wine prefix. Also make sure that you hit yes to install mono and gecko packages when wine prompts you about them.
In response to Svor1988
Thank you for the response. It very well may be an issue of missing libraries. I have just updated to the latest stable release of wine and created a new 32 bit prefix to run BYOND. When running BYOND it returns with.

Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x637b2ede).
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
EIP:637b2ede ESP:0031a8e0 EBP:0031a8e4 EFLAGS:00210246( R- -- I Z- -P- )
EAX:00000000 EBX:00000113 ECX:1154dfa0 EDX:ffffffff
ESI:03aeed10 EDI:03aedaf8
Stack dump:
0x0031a8e0: 00000000 0031a8f4 637b0a80 00000000
0x0031a8f0: 0000031a 0031a904 6368664a 03b115b0
0x0031a900: 00001012 0031a928 63686656 00002000
0x0031a910: 00000000 0031a9ec 000100e2 00000000
0x0031a920: 000100e2 00000000 0031a958 6edab70c
0x0031a930: 000100e2 00000132 00002000 00000000
Backtrace:
=>0 0x637b2ede EntryPoint+0x18ed20() in mshtml (0x0031a8e4)
1 0x637b0a80 EntryPoint+0x18c8c1() in mshtml (0x0031a8f4)
2 0x6368664a EntryPoint+0x6248b() in mshtml (0x0031a904)
3 0x63686656 EntryPoint+0x62497() in mshtml (0x0031a928)
4 0x6edab70c EntryPoint+0xffffffff() in user32 (0x0031a958)
5 0x6edabdc7 EntryPoint+0xffffffff() in user32 (0x00000113)
6 0x6edae688 EntryPoint+0xffffffff() in user32 (0x0031a9f4)
7 0x018592a7 EntryPoint+0xffffffff() in mfc120u (0x0031aa78)
8 0x6edab70c EntryPoint+0xffffffff() in user32 (0x0031aaa8)
9 0x6edabdc7 EntryPoint+0xffffffff() in user32 (0x00000113)
10 0x6edae3f3 EntryPoint+0xffffffff() in user32 (0x6edb6f18)
11 0x6ed69e81 EntryPoint+0xffffffff() in user32 (0x0031ac08)
12 0x018486f2 EntryPoint+0xffffffff() in mfc120u (0x0031ac4c)
13 0x01800773 EntryPoint+0xffffffff() in mfc120u (0x0031ac64)
14 0x018009f6 EntryPoint+0xffffffff() in mfc120u (0x0031acb8)
15 0x004344aa EntryPoint+0xffffffff() in byond (0x0031fed0)
16 0x0186bdc4 EntryPoint+0xffffffff() in mfc120u (0x0031fee4)
17 0x0044fee9 EntryPoint+0xffffffff() in byond (0x0031ff30)
18 0x7b62e280 EntryPoint+0xffffffff() in kernel32 (0x0031ff48)
19 0x7bc5bb87 EntryPoint+0xffffffff() in ntdll (0x0031ff5c)
20 0x7bc5bde0 EntryPoint+0xffffffff() in ntdll (0x0031ffec)
0x637b2ede EntryPoint+0x18ed20 in mshtml: movl 0x0(%eax),%ecx
Modules:
Module Address Debug info Name (97 modules)
PE 320000- 3f8000 Deferred ucrtbase
PE 400000- 581000 Export byond
PE 590000- 8ff000 Deferred byondcore
PE 900000- adb000 Deferred byondext
PE ae0000- 1061000 Deferred gdi32
PE 1070000- 124c000 Deferred setupapi
PE 1250000- 133e000 Deferred msvcr120
PE 1350000- 1394000 Deferred msvcrt
PE 15a0000- 1611000 Deferred msvcp120
PE 1620000- 1a62000 Export mfc120u
PE 1a70000- 1b02000 Deferred oleaut32
PE 1e60000- 20b9000 Deferred comdlg32
PE 20c0000- 2542000 Deferred comctl32
PE 2d00000- 3791000 Deferred ieframe
PE c320000- c349000 Deferred msls31
PE c480000- c4af000 Deferred iepeers
PE c4b0000- c5a5000 Deferred wininet
PE f270000- f3e0000 Deferred shdocvw
PE f3e0000- f683000 Deferred crypt32
PE f690000- f7fe000 Deferred cryptui
PE faa0000- fac2000 Deferred rasapi32
PE fbe0000- fbe9000 Deferred normaliz
PE 10000000-101f2000 Deferred byondwin
PE 1a400000-1a532000 Deferred urlmon
PE 1b000000-1b00c000 Deferred imgutil
PE 1b060000-1b06e000 Deferred pngfilt
PE 35c50000-35c89000 Deferred dxtrans
PE 35cb0000-35d07000 Deferred dxtmsft
PE 61680000-61683000 Deferred api-ms-win-core-processthreads-l1-1-0
PE 61740000-61828000 Deferred advapi32
PE 621c0000-621c3000 Deferred api-ms-win-core-interlocked-l1-1-0
PE 62280000-62283000 Deferred api-ms-win-core-libraryloader-l1-1-0
PE 62840000-62843000 Deferred api-ms-win-core-processenvironment-l1-1-0
PE 62940000-62943000 Deferred api-ms-win-core-synch-l1-1-0
PE 62980000-62983000 Deferred api-ms-win-core-util-l1-1-0
PE 62b80000-62b8c000 Deferred api-ms-win-core-localization-l1-2-1
PE 62fc0000-631f2000 Deferred rpcrt4
PE 63480000-6349c000 Deferred version
PE 63580000-63b2c000 Export mshtml
PE 63bc0000-63c02000 Deferred shcore
PE 63e00000-63e03000 Deferred api-ms-win-core-debug-l1-1-0
PE 64080000-64083000 Deferred api-ms-win-core-processthreads-l1-1-1
PE 64a00000-64a03000 Deferred api-ms-win-core-localization-l1-2-0
PE 64f00000-64f03000 Deferred api-ms-win-core-sysinfo-l1-1-0
PE 66240000-6627e000 Deferred bcrypt
PE 66640000-66643000 Deferred api-ms-win-core-file-l2-1-0
PE 66a40000-66a56000 Deferred atl
PE 67800000-67803000 Deferred api-ms-win-core-string-l1-1-0
PE 67840000-6784e000 Deferred psapi
PE 67980000-67983000 Deferred api-ms-win-core-datetime-l1-1-0
PE 67a00000-67a83000 Deferred d3dxof
PE 67c00000-67c03000 Deferred api-ms-win-core-handle-l1-1-0
PE 68140000-68143000 Deferred api-ms-win-core-errorhandling-l1-1-0
PE 68300000-68303000 Deferred api-ms-win-core-timezone-l1-1-0
PE 68700000-6878e000 Deferred uxtheme
PE 69180000-691a6000 Deferred wsock32
PE 69480000-694f4000 Deferred mlang
PE 697c0000-69a08000 Deferred ddraw
PE 69d80000-69f15000 Deferred d3dcompiler_47
PE 6a040000-6a0a3000 Deferred msacm32
PE 6a340000-6a343000 Deferred api-ms-win-core-file-l1-2-0
PE 6a400000-6a571000 Deferred winmm
PE 6a740000-6a78b000 Deferred msimtf
PE 6aa40000-6aa4c000 Deferred usp10
PE 6ac80000-6ac8b000 Deferred api-ms-win-core-fibers-l1-1-1
PE 6bb80000-6bb83000 Deferred api-ms-win-core-console-l1-1-0
PE 6bc00000-6bca1000 Deferred sechost
PE 6bcc0000-6bcc3000 Deferred api-ms-win-core-profile-l1-1-0
PE 6cdc0000-6cdc3000 Deferred api-ms-win-core-namedpipe-l1-1-0
PE 6d2c0000-6d5b5000 Deferred d3dx9_43
PE 6de80000-6de83000 Deferred api-ms-win-core-synch-l1-2-0
PE 6e1c0000-6e1c3000 Deferred api-ms-win-core-rtlsupport-l1-1-0
PE 6e340000-6e3c1000 Deferred ddrawex
PE 6e840000-6e844000 Deferred api-ms-win-core-file-l1-1-0
PE 6ebc0000-6ebc3000 Deferred api-ms-win-core-memory-l1-1-0
PE 6ed00000-6f392000 Dwarf user32
PE 6fe80000-6fef8000 Deferred jscript
PE 705c0000-705c3000 Deferred api-ms-win-core-heap-l1-1-0
PE 70e80000-70e93000 Deferred msimg32
PE 71040000-71060000 Deferred msxml
PE 71200000-71248000 Deferred imm32
PE 74600000-747fb000 Deferred iertutil
PE 774e0000-7761d000 Deferred ole32
PE 77f60000-77fd6000 Deferred shlwapi
PE 78a60000-78a86000 Deferred atl100
PE 7ac00000-7ae42000 Deferred riched20
PE 7b000000-7b30c000 Deferred kernelbase
PE 7b4f0000-7b4f4000 Deferred opengl32
PE 7b600000-7b928000 Dwarf kernel32
PE 7ba90000-7ba94000 Deferred wined3d
PE 7bc00000-7bedf000 Dwarf ntdll
PE 7c730000-7c753000 Deferred msxml3
PE 7da00000-7e2d7000 Deferred shell32
PE 7e5d0000-7e5d4000 Deferred winex11
PE 7e900000-7e90b000 Deferred winspool
PE 7e960000-7e964000 Deferred ws2_32
PE 7e9a0000-7e9a4000 Deferred iphlpapi
Threads:
process tid prio (all id:s are in hex)
00000020 (D) C:\Program Files\BYOND\bin\byond.exe
00000024 0 <==
000000d0 0
000000d4 0
000000d8 0
000000dc 0
000000e0 0
000000e4 0
000000e8 0
000000ec 0
000000f0 0
000000f4 0
000000f8 0
000000fc 0
00000100 0
00000104 0
00000108 0
0000010c 0
00000110 0
00000114 0
00000118 0
0000011c 0
00000120 0
00000124 0
0000012c 0
00000130 0
00000134 0
00000140 0
00000038 services.exe
0000003c 0
00000040 0
0000004c 0
00000050 0
0000005c 0
00000074 0
0000008c 0
00000098 0
000000bc 0
00000044 winedevice.exe
00000048 0
00000054 0
00000058 0
00000060 0
00000064 plugplay.exe
00000068 0
00000078 0
0000007c 0
00000080 0
000000a0 0
0000006c explorer.exe
00000070 0
000000ac 0
00000084 winedevice.exe
00000088 0
00000090 0
00000094 0
0000009c 0
000000a8 0
000000b0 0
000000b4 svchost.exe
000000b8 0
000000c0 0
000000c4 0
000000c8 conhost.exe
000000cc 0
System information:
Wine build: wine-6.0
Platform: i386
Version: Windows 7
Host system: Linux
Host version: 5.4.0-70-generic
00cc:fixme:ver:GetCurrentPackageId (0068FEA4 00000000): stub
I'm not sure what causes this problem, works fine on my system. What follows is a bunch of sanity checking.

Here are the i386 packages I have installed, and wine is the only thing that uses i386 packages on my system IIRC: https://pastebin.com/e1D7a2FL

I'm on a Debian buster based distro. Ubuntu seems to name some packages differently. apt-get install that line to see if any are missing and installable on yours.

I didn't install every recommended/suggested package when installing wine, but I cherry picked sensible looking ones. EDIT: Also I installed ttf-mscorefonts-installer, which IIRC is a system wide install of mscorefonts, mitigating the need for `winetricks corefonts` on each wineprefix you have.

If you were to install the dbg package for the wine package you have, then the backtrace would contain more info (and be less vague).
$ apt-cache search wine | grep dbg


EDIT: If installing the dbg packages, don't forget to install the i386 equivalents:
$ apt-cache search -o "APT:Architecture=i386" wine | grep dbg


That it is crashing in mshtml makes me suspect gecko might not be installed. Here is how the packages look on my system:
$ ll ~/.cache/wine/
-rw-r--r-- 1 gaming gaming 55354880 Mar 11 12:48 wine-gecko-2.47.2-x86_64.msi
-rw-r--r-- 1 gaming gaming 59162112 Mar 11 15:54 wine-gecko-2.47.2-x86.msi
-rw-r--r-- 1 gaming gaming 87507456 Mar 11 15:39 wine-mono-6.0.0-x86.msi


For wine 6.0 you should have both 2.47.2-x86_64.msi and 2.47.2-x86.msi in that folder: https://wiki.winehq.org/Gecko

EDIT: I'm not sure if cleaning out the old gecko msi's will help any, but you could give that a shot.

IIRC wineboot should automatically install the relevant ones, but you can manually install any msi to be reassured. wineboot is what makes the popup on your screen saying "the wine prefix is being updated, please wait...":
$ rm -r ~/.wine
$ WINEARCH=win32 wineboot
$ msiexec /i ~/.cache/wine/wine-gecko-2.47.2-x86.msi


Also you can double check that the prefix is win32 with the following command:
$ cat ~/.wine/userdef.reg | head | grep arch
#arch=win32