ptitSeb / box86

Box86 - Linux Userspace x86 Emulator with a twist, targeted at ARM Linux devices
https://box86.org
MIT License
3.26k stars 224 forks source link

.NET 3.5sp1 crashes on install #227

Closed WheezyE closed 3 years ago

WheezyE commented 3 years ago

box86 2375d707, wine-devel=5.18~buster, latest winetricks (patched for box86) All components install correctly on x86 Linux (Debian 10, VMWare) with same version of wine.

Overview

I'd like to get dotnet35sp1 to install so that Winlink will run more stably (RMS Express opens with mono, but doesn't function correctly since it doesn't allow us to open modems through the RMS Express program).

I get a crash here in XPSEPSC's update.exe (contained within dotnet30's installer) that I think is the main problem -- see below for more info:

0818:fixme:setupapi:pSetupGetGlobalFlags stub
13196|SIGSEGV @0x7c8a8d00 (???) (x86pc=0x1004cf0/???:"???"), for accessing (nil) (code=1), db=0x46f16a0(0x1004cf0/???)
13196|SIGSEGV @0x7c467c00 (???) (x86pc=0x1005313/???:"???"), for accessing (nil) (code=1), db=0x46249d8(0x1005313/???)
0818:fixme:wintrust:WinVerifyTrust unimplemented for 4
0818:fixme:wintrust:SOFTPUB_VerifyImageHash Cannot verify hash for pszObjId=(null)
13196|Double SIGSEGV!

.NET 3.5 SP1 depends on .NET 3.0 (which crashes)

dotnet35sp1 installer contains all previous dotnet installers and runs them before installing itself. Therefore, we can either ask winetricks to install dotnet35sp1, or we can also just install all previous dotnets individually (to make debugging easier).

So far, I've been able to get dotnet20 and dotnet20sp2 to install with box86 2375d707 with dynarec turned off. However, dotnet30 installer seems to crash.

I piped the output of BOX86_DYNAREC=0 winetricks dotnet30 >> log.file 2>&1 to a logfile and pasted the whole log of the box86 dotnet30 install and crash here if you want to see it - though this log doesn't show the reason for the crash - just shows wine errors and an eventual SIGSEGV. Here is a log of the same install on x86 Linux, which completes successfully. On both Pi and on x86 Linux, I installed a fresh wineprefix without mono, then ran winetricks dotnet20 before I ran winetricks dotnet30.

.Net 3.0's crash is probably caused by XPSEPSC update.exe crashing

I think the entire crash might be traced back to a problem with XPSEPSC's update.exe ("XML Paper Specification Shared Components Pack 1.0 Installation Wizard" to update Windows XP components). This exe is nested inside several installers, but gets run during dotnet30 install (and dotnet30 install gets run during dotnet35sp1 install): [dotnetfx3.exe > dotnetfx3_extracted/wcu/XPS/XPSEPSC-x86-en-US.exe > XPSEPSC-x86-en-US_extracted/update/update.exe] If you want to get to that update.exe to play with it, you can extract these exe files using 7zip: 7z x ___.exe -o"extracted_dir"

First I had to run winetricks winxp (I learned from x86 Linux that update.exe needs Windows to be "winxp,").

Running this update.exe with box86 (with or without dynarec) crashes with:

0818:fixme:setupapi:pSetupGetGlobalFlags stub
13196|SIGSEGV @0x7c8a8d00 (???) (x86pc=0x1004cf0/???:"???"), for accessing (nil) (code=1), db=0x46f16a0(0x1004cf0/???)
13196|SIGSEGV @0x7c467c00 (???) (x86pc=0x1005313/???:"???"), for accessing (nil) (code=1), db=0x46249d8(0x1005313/???)
0818:fixme:wintrust:WinVerifyTrust unimplemented for 4
0818:fixme:wintrust:SOFTPUB_VerifyImageHash Cannot verify hash for pszObjId=(null)
13196|Double SIGSEGV!

(Installer window pops up, but then crashes on this SIGSEGV - this crash also happens when I try to run this installer with the Windows /q quiet install flag).

On x86 Linux (if we do a fresh wineprefix, run winetricks dotnet20, then run wine update.exe on its own):

pi@debian:~/.cache/winetricks/dotnet30/extracted/wcu/XPS/out/update$ wine update.exe
0050:err:ole:start_rpcss Failed to start RpcSs service
00c4:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0024:fixme:setupapi:pSetupGetGlobalFlags stub
0024:fixme:wintrust:WinVerifyTrust unimplemented for 4
0024:fixme:wintrust:SOFTPUB_VerifyImageHash Cannot verify hash for pszObjId=(null)
0024:err:ole:com_get_class_object class {acadf079-cbcd-4032-83f2-fa47c4db096f} not registered
0024:err:ole:com_get_class_object no class object {acadf079-cbcd-4032-83f2-fa47c4db096f} could be created for context 0x1

(Installer window pops up, waits for me to press "Next", then goes on to install stuff)

It's kind of funny, ExaGear had the same problem with this exact same update.exe , which I believe was the reason I couldn't install dotnet35sp1 on ExaGear either.

Why I think update.exe is the problem

If we go to ~/.cache/winetricks/dotnet30/ and run wine dotnetfx3.exe (dotnet30 installer) we see DecryptFileA ("c:\\6504e39d706cc26fa29f1f78b383\\", where dotnetfx3.exe successfully extracts its contents to the temporary directory ~/.wine/drive_c/6504e39d706cc26fa29f1f78b383/

Then we see this and the dotnet30 Windows installer GUI says installation failed:

0168:fixme:advapi:DecryptFileA ("y:\\c82308bf6d53948e57\\", 00000000): stub
Box86 with Dynarec v0.1.3 2375d707 built on Oct 11 2020 13:13:32
0174:fixme:setupapi:pSetupGetGlobalFlags stub
7681|SIGSEGV @0x2856134 (???) (x86pc=(nil)/???:"???"), for accessing (nil) (code=1), db=(nil)((nil)/???)
7681|Double SIGSEGV!

The DecryptFileA ("y:\\c82308bf6d53948e57\\", 00000000): stub I'm pretty sure is where an .msi or .exe (contained within ~/.wine/drive_c/6504e39d706cc26fa29f1f78b383/) attempts to extract its contents into a temporary directory within our wineprefix.

After this failure, the installer's own Windows crash log reports:

[10/11/20,20:19:33] setup.exe: [2] ISetupComponent::Pre/Post/Install() failed in ISetupManager::InternalInstallManager() with HRESULT -2147023293.
[10/12/20,06:33:03] setup.exe: [2] ISetupComponent::Pre/Post/Install() failed in ISetupManager::InternalInstallManager() with HRESULT -2147023293.
[10/12/20,06:34:12] WapUI: [2] DepCheck indicates XPSEPSC x86 Installer is not installed.
[10/12/20,06:39:52] setup.exe: [2] ISetupComponent::Pre/Post/Install() failed in ISetupManager::InternalInstallManager() with HRESULT -2147023293.
[10/12/20,06:40:53] WapUI: [2] DepCheck indicates XPSEPSC x86 Installer is not installed.

We can extract dotnetfx3.exe's contents with pi@raspberrypi:~/.cache/winetricks/dotnet30 $ 7z x dotnetfx3.exe -o"unzipped" && cd unzipped And run the XPSEPSC install ourselves: cd ~/.cache/winetricks/dotnet30/unzipped/wcu/XPS && wine XPSEPSC-x86-en-US.exe to find that the XPSEPSC installer crashes here with Box86 (with or without dynarec, also trying a /q windos flag to run the installer quietly doesn't help):

pi@raspberrypi:~/.cache/winetricks/dotnet30/unzipped/wcu/XPS $ wine XPSEPSC-x86-en-US.exe 
Box86 with Dynarec v0.1.3 2375d707 built on Oct 11 2020 13:13:32
Box86 with Dynarec v0.1.3 2375d707 built on Oct 11 2020 13:13:32
Box86 with Dynarec v0.1.3 2375d707 built on Oct 11 2020 13:13:32
0778:fixme:clusapi:GetNodeClusterState ((null),1020ECC4) stub!
0778:fixme:advapi:DecryptFileA ("c:\\1a42330abefda3ee2c54ec\\", 00000000): stub
078c:fixme:setupapi:pSetupGetGlobalFlags stub
078c:fixme:wintrust:WinVerifyTrust unimplemented for 4
078c:fixme:wintrust:SOFTPUB_VerifyImageHash Cannot verify hash for pszObjId=(null)

If I CTRL-C in the terminal right after fixme:advapi:DecryptFileA runs, then I can navigate to the ~/.wine/drive_c/1a42330abefda3ee2c54ec temporary folder where the contents are extracted and play with those files. It's here where I track the error to

pi@raspberrypi:~/.wine/drive_c/1a42330abefda3ee2c54ec/update $ wine update.exe 
Box86 with Dynarec v0.1.3 2375d707 built on Oct 11 2020 13:13:32
Box86 with Dynarec v0.1.3 2375d707 built on Oct 11 2020 13:13:32
Box86 with Dynarec v0.1.3 2375d707 built on Oct 11 2020 13:13:32
0818:fixme:setupapi:pSetupGetGlobalFlags stub
13196|SIGSEGV @0x7c8a8d00 (???) (x86pc=0x1004cf0/???:"???"), for accessing (nil) (code=1), db=0x46f16a0(0x1004cf0/???)
13196|SIGSEGV @0x7c467c00 (???) (x86pc=0x1005313/???:"???"), for accessing (nil) (code=1), db=0x46249d8(0x1005313/???)
0818:fixme:wintrust:WinVerifyTrust unimplemented for 4
0818:fixme:wintrust:SOFTPUB_VerifyImageHash Cannot verify hash for pszObjId=(null)
13196|Double SIGSEGV!
Segmentation fault
WheezyE commented 3 years ago

Ok, so this installer worked only after I had installed dotnet40 first. Trying to reproduce the successful install on a fresh wineprefix errors here again: image

WheezyE commented 3 years ago

Alright, I can reproduce successful (working - as tested by copying the wineprefix to an x86 Linux computer) installation of dotnet35sp1 with these steps.

rm -rf ~/.wine; DISPLAY=0 wine wineboot # make a fresh wineprefix without asking for user input (auto installs any mono or gecko .msi files in ~/.cache/wine)
BOX86_NOBANNER=1 winetricks -q dotnet40 dotnet35sp1 # install dotnet35sp1. Takes about 20 minutes I think

I'll have to keep working on this later, but I'm also starting to suspect CLR Native Image Generator / ngen.exe (in ~/.wine/drive_c/windows/Microsoft.NET/) possibly being the problem (if it's not update.exe). Dotnet40 seems to use its own newer version of ngen that maybe doesn't cause issues when installing dotnet35sp1. Side-notes:

The problem still could be XPSEPSC's update.exe stalling indefinitely after installation though - although maybe it stalls after completing installation due to ngen?

I tried messing with dotnet40's installers too, but didn't have any luck:

The winetricks script itself (the section that installs dotnet40) gave me some ideas for testing:

WINEDLLOVERRIDES=fusion=b w_try_ms_installer "${WINE}" dotNetFx40_Full_x86_x64.exe ${W_OPT_UNATTENDED:+/q /c:"install.exe /q"}

    w_override_dlls native mscoree

    "${WINE}" reg add "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full" /v Install /t REG_DWORD /d 0001 /f
    "${WINE}" reg add "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full" /v Version /t REG_SZ /d "4.0.30319" /f

    W_NGEN_CMD="${WINE} ${WINEPREFIX}/drive_c/windows/Microsoft.NET/Framework/v4.0.30319/ngen.exe executequeueditems"

    # Avoid a popup on WINEPREFIX updates, see https://bugs.winehq.org/show_bug.cgi?id=41727#c5
    "${WINE}" reg add "HKLM\\Software\\Microsoft\\.NETFramework" /v OnlyUseLatestCLR /t REG_DWORD /d 0001 /f

As a side note, I tried installing dotnet40 with the BOX86_DYNAREC_SAFEMMAP=1 wine speedhack you just introduced, which makes the installs MUCH faster, but unfortunately crashes both dotnet40 and dotnet35sp1. This is a nice feature though.

WheezyE commented 3 years ago

Can confirm that it’s the older version of ngen.exe causing the eventual stack overflow that halts dotnet35sp1 installer (and some SIGSEGV’s)

Here’s a log2 of pi@raspberrypi:~/.wine/drive_c/windows/Microsoft.NET/Framework/v2.0.50727 $ BOX86_LOG=2 wine ngen.exe vbc.exe 2>&1 | tee ngenlog2.txt https://mega.nz/file/YRB2UZia#TOK_QIAFLUGyM_4LzxlnNffzwKBM3KBwY3QnoP-zzXg (Run after installing dotnet40, dotnet35sp1, then uninstalling dotnet40, then running that old ngen.exe)

WheezyE commented 3 years ago

I had some more time to try to analyze this .wine/drive_c/windows/Microsoft.NET/Framework/v2.0.50727/ngen.exe log2 today. I'm not sure but maybe the failed loading of libraries could be the problem?

Here's what I've got:

There are a lot of lines like this 0804|0x407a3ab4: Calling my_mmap64 (FE3F0000, 00100000, 00000000...) => return 0xFFFFFFFF

Until it finally loads?:

0804|0x407a9a8f: Calling getenv("WINEPRELOADRESERVE") => return 0x00000000(nil)
0804|0x407a2dfc: Calling my_mmap64 (BECD0000, 00300000, 00000003...) => return 0xBECD0000

Then we start seeing errors loading wine libraries:

0804|0x4077f077: Calling my_dlopen (641582A8, 00000002, 00000016...) =>Call to dlopen("/home/pi/wine/lib/wine/kernel32.so"/0x641582a8, 2)
Trying to Get "/home/pi/wine/lib/wine/kernel32.so" to maplib
Trying to add "/home/pi/wine/lib/wine/kernel32.so" to maplib (local)
Trying to load "/home/pi/wine/lib/wine/kernel32.so"
Simplified name is "kernel32.so"
Faillure to create lib => fail
Warning: Cannot dlopen("/home/pi/wine/lib/wine/kernel32.so"/0x641582a8, 2)
 return 0x00000000
...
0804|0x4077f077: Calling my_dlopen (64185FD0, 00000002, 00000016...) =>Call to dlopen("/home/pi/wine/lib/wine/kernelbase.so"/0x64185fd0, 2)
Trying to Get "/home/pi/wine/lib/wine/kernelbase.so" to maplib
Trying to add "/home/pi/wine/lib/wine/kernelbase.so" to maplib (local)
Trying to load "/home/pi/wine/lib/wine/kernelbase.so"
Simplified name is "kernelbase.so"
Faillure to create lib => fail
Warning: Cannot dlopen("/home/pi/wine/lib/wine/kernelbase.so"/0x64185fd0, 2)
 return 0x00000000
...
0804|0x4077f077: Calling my_dlopen (6420DCB8, 00000002, 00000016...) =>Call to dlopen("/home/pi/wine/lib/wine/msvcr80.so"/0x6420dcb8, 2)
Trying to Get "/home/pi/wine/lib/wine/msvcr80.so" to maplib
Trying to add "/home/pi/wine/lib/wine/msvcr80.so" to maplib (local)
Trying to load "/home/pi/wine/lib/wine/msvcr80.so"
Simplified name is "msvcr80.so"
Faillure to create lib => fail
Warning: Cannot dlopen("/home/pi/wine/lib/wine/msvcr80.so"/0x6420dcb8, 2)
 return 0x00000000
...

The rest of the failed DLL loads include:

Warning: Cannot dlopen("/home/pi/wine/lib/wine/advapi32.so"/0x6423dcc0, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/sechost.so"/0x6423ef50, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/ucrtbase.so"/0x6423f810, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/oleaut32.so"/0x6426f7b0, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/ole32.so"/0x6428a900, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/combase.so"/0x6428cb18, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/rpcrt4.so"/0x64290290, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/setupapi.so"/0x642a8308, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/version.so"/0x642a8768, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/imm32.so"/0x6474a9a0, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/kernel32.so"/0x64b0cb18, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/kernelbase.so"/0x64b3c0d0, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/setupapi.so"/0x64c5ae48, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/version.so"/0x64c5e218, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/winex11.so"/0x41f82398, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/actxprxy.so"/0x42889a40, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/mscorwks.so"/0x44038988, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/shlwapi.so"/0x44042a98, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/shcore.so"/0x440430a8, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/shell32.so"/0x447b17c0, 2)

Then the first SIGSEGV pops up:

0812|0x4082d31e: Calling pthread_sigmask (00000002, 1022EB70, 00000000...) => return 0x00000000
0812|SIGSEGV @0x45235bdc (???(0x45235bdc)) (x86pc=0x79f0a502/???:"???", esp=0x1022ed44), for accessing 0x136c0008 (code=2), db=0x4528b420(0x45235b84:0x45235d14/0x79f0a4f0:0x79f0a555/???)
Sigactionhanlder for signal #11 called (jump to 0x4082f8d0/???(0x4082f8d0))
0812|signal function handler 0x4082f8d0 called, ESP=0x1ffffcb0
Run X86 (0x6495cb08), EIP=0x4082f8d0, Stack=0x409a0020

Then ngen starts to report "Fatal Execution Engine Error"s and SIGSEGV's occasionally pop up after the errors:

0812|0x4080973d: Calling __write (00000002, 40865D28, 00000038...) =>01dc:fixme:advapi:DeregisterEventSource (CAFE4242) stub
 return 0x00000038
0812|SIGSEGV @0x4524ce18 (???(0x4524ce18)) (x86pc=0x7a026e5d/???:"???", esp=0x1022e3cc), for accessing (nil) (code=1), db=0x45335600(0x4524ce0c:0x4524ce58/0x7a026e58:0x7a026e60/???)
Sigactionhanlder for signal #11 called (jump to 0x4082f8d0/???(0x4082f8d0))
0812|signal function handler 0x4082f8d0 called, ESP=0x1ffffcb0
Run X86 (0x6495cb08), EIP=0x4082f8d0, Stack=0x409a0020
...
0812|SIGSEGV @0x4524ce18 (???(0x4524ce18)) (x86pc=0x7a026e5d/???:"???", esp=0x1022da54), for accessing (nil) (code=1), db=0x45335600(0x4524ce0c:0x4524ce58/0x7a026e58:0x7a026e60/???)
Sigactionhanlder for signal #11 called (jump to 0x4082f8d0/???(0x4082f8d0))
0812|signal function handler 0x4082f8d0 called, ESP=0x1ffffcb0
Run X86 (0x6495cb08), EIP=0x4082f8d0, Stack=0x409a0020
...
0812|SIGSEGV @0x4524ce18 (???(0x4524ce18)) (x86pc=0x7a026e5d/???:"???", esp=0x1022d0dc), for accessing (nil) (code=1), db=0x45335600(0x4524ce0c:0x4524ce58/0x7a026e58:0x7a026e60/???)
Sigactionhanlder for signal #11 called (jump to 0x4082f8d0/???(0x4082f8d0))
0812|signal function handler 0x4082f8d0 called, ESP=0x1ffffcb0
Run X86 (0x6495cb08), EIP=0x4082f8d0, Stack=0x409a0020
...
0812|SIGSEGV @0x4524ce18 (???(0x4524ce18)) (x86pc=0x7a026e5d/???:"???", esp=0x1022c764), for accessing (nil) (code=1), db=0x45335600(0x4524ce0c:0x4524ce58/0x7a026e58:0x7a026e60/???)
Sigactionhanlder for signal #11 called (jump to 0x4082f8d0/???(0x4082f8d0))
0812|signal function handler 0x4082f8d0 called, ESP=0x1ffffcb0
Run X86 (0x6495cb08), EIP=0x4082f8d0, Stack=0x409a0020
...
0812|SIGSEGV @0x4524ce18 (???(0x4524ce18)) (x86pc=0x7a026e5d/???:"???", esp=0x1022bdec), for accessing (nil) (code=1), db=0x45335600(0x4524ce0c:0x4524ce58/0x7a026e58:0x7a026e60/???)
Sigactionhanlder for signal #11 called (jump to 0x4082f8d0/???(0x4082f8d0))
0812|signal function handler 0x4082f8d0 called, ESP=0x1ffffcb0
Run X86 (0x6495cb08), EIP=0x4082f8d0, Stack=0x409a0020
...
0812|SIGSEGV @0x4524ce18 (???(0x4524ce18)) (x86pc=0x7a026e5d/???:"???", esp=0x1022b474), for accessing (nil) (code=1), db=0x45335600(0x4524ce0c:0x4524ce58/0x7a026e58:0x7a026e60/???)
Sigactionhanlder for signal #11 called (jump to 0x4082f8d0/???(0x4082f8d0))
0812|signal function handler 0x4082f8d0 called, ESP=0x1ffffcb0
Run X86 (0x6495cb08), EIP=0x4082f8d0, Stack=0x409a0020
...
0812|SIGSEGV @0x4524ce18 (???(0x4524ce18)) (x86pc=0x7a026e5d/???:"???", esp=0x1022aafc), for accessing (nil) (code=1), db=0x45335600(0x4524ce0c:0x4524ce58/0x7a026e58:0x7a026e60/???)
Sigactionhanlder for signal #11 called (jump to 0x4082f8d0/???(0x4082f8d0))
0812|signal function handler 0x4082f8d0 called, ESP=0x1ffffcb0
Run X86 (0x6495cb08), EIP=0x4082f8d0, Stack=0x409a0020
...
0812|SIGSEGV @0x4524ce18 (???(0x4524ce18)) (x86pc=0x7a026e5d/???:"???", esp=0x1022a184), for accessing (nil) (code=1), db=0x45335600(0x4524ce0c:0x4524ce58/0x7a026e58:0x7a026e60/???)
Sigactionhanlder for signal #11 called (jump to 0x4082f8d0/???(0x4082f8d0))
0812|signal function handler 0x4082f8d0 called, ESP=0x1ffffcb0
Run X86 (0x6495cb08), EIP=0x4082f8d0, Stack=0x409a0020
...
0812|SIGSEGV @0x4524ce18 (???(0x4524ce18)) (x86pc=0x7a026e5d/???:"???", esp=0x1022980c), for accessing (nil) (code=1), db=0x45335600(0x4524ce0c:0x4524ce58/0x7a026e58:0x7a026e60/???)
Sigactionhanlder for signal #11 called (jump to 0x4082f8d0/???(0x4082f8d0))
0812|signal function handler 0x4082f8d0 called, ESP=0x1ffffcb0
Run X86 (0x6495cb08), EIP=0x4082f8d0, Stack=0x409a0020

Maybe I'll try to find some native windows dll's to copy-paste into windows/system32 and then override winecfg to run them as native and see what happens.

WheezyE commented 3 years ago

Finally got more time to test this today but still stumped. I think it may be simply be a problem of not having enough of the wine libraries wrapped yet.

I've asked for help on the wine forums to try to get some insight into which libraries might be the ones ngen really needs wrapped and also just hoping to find some insight into ngen from anybody who's dealt with getting it to work from scratch before. If I transfer the wineprefix to my x86 computer, it works, so I think its just box86 not running the files quite right yet.

I also discovered that I think dotnet40’s ngen also may be broken in box86.

I'm just uploading my testing here for future reference.

If I install a fresh wineprefix without mono, with gecko, with the following command: DISPLAY=0 wine wineboot; winetricks -q vcrun2015 dotnet40 dotnet35sp1 (I would install vcrun2005 instead for its dll's, but it crashes).

Then if I download these DLL's, copy them to ~/.wine/drive_c/windows/system32/ and overwrite the files there, then override winecfg Libaries to use them as native (these overrides copied from ~/.wine/user.reg):

"actxprxy"="native"
"fusion"="native"
"imm32"="native"
"mfc80"="native"
"msvcp80"="native"
"msvcr80"="native"
"shcore"="native"
"shlwapi"="native"
"version"="native"

Then run ~/.wine/drive_c/windows/Microsoft.NET/Framework/v2.0.50727 $ BOX86_LOG=1 wine ngen.exe vbc.exe

Then the output ends with errors like this:

00e0:fixme:seh:WerRegisterRuntimeExceptionModule (L"C:\\windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscordacwks.dll", 79140000) stub
00e0:fixme:nls:LCIDToLocaleName unsupported flags 8000000
00e0:fixme:advapi:RegisterEventSourceW ((null),L".NET Runtime"): stub
00e0:fixme:advapi:ReportEventW (CAFE4242,0x0001,0x0000,0x000003ff,00000000,0x0001,0x00000000,1023DAA8,00000000): stub
00e0:err:eventlog:ReportEventW L"Application: mscorsvw.exe\nFramework Version: v4.0.30319\nDescription: The process was terminated due to an internal error in the .NET Runtime at IP 7922DAF5 (79140000) with exit code 80131506.\n"
00e0:fixme:advapi:DeregisterEventSource (CAFE4242) stub
0024:fixme:ole:NdrClearOutParameters (41FBE778,41E0E002,41FBEEA0): stub
0024:err:ole:ifproxy_release_public_refs IRemUnknown_RemRelease failed with error 0x800706ba
0024:err:ole:ifproxy_release_public_refs IRemUnknown_RemRelease failed with error 0x800706ba
Uninstalling assembly C:\windows\Microsoft.NET\Framework\v2.0.50727\vbc.exe beca
use of an error during compilation: Failed to get dependencies for assembly. (Ex
ception from HRESULT: 0x80131F00).
Failed to get dependencies for assembly. (Exception from HRESULT: 0x80131F00)

Here's RMS Express with those DLL's enabled.

pi@raspberrypi:~/.wine/drive_c/RMS Express $ wine RMS\ Express.exe 
Box86 with Dynarec v0.1.9 a3b0149a built on Dec 19 2020 15:11:48
Box86 with Dynarec v0.1.9 a3b0149a built on Dec 19 2020 15:11:48
Box86 with Dynarec v0.1.9 a3b0149a built on Dec 19 2020 15:11:48
0034:fixme:win:User32InitializeImmEntryTable native imm32.dll not supported
007c:fixme:win:User32InitializeImmEntryTable native imm32.dll not supported
006c:fixme:win:User32InitializeImmEntryTable native imm32.dll not supported
0084:fixme:win:User32InitializeImmEntryTable native imm32.dll not supported
006c:err:ole:start_rpcss Failed to start RpcSs service
002c:fixme:win:User32InitializeImmEntryTable native imm32.dll not supported
Box86 with Dynarec v0.1.9 a3b0149a built on Dec 19 2020 15:11:48
0024:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0024:fixme:win:User32InitializeImmEntryTable native imm32.dll not supported
0024:fixme:ntdll:EtwEventRegister ({e13c0d23-ccbc-4e12-931b-d9cc2eee27e4}, 7932A40C, 797293B0, 79764880) stub.
0024:fixme:ntdll:EtwEventRegister ({763fd754-7086-4dfe-95eb-c01a46faf4ca}, 7932A40C, 797292F0, 79729998) stub.
0024:fixme:ntdll:EtwEventRegister ({a669021c-c450-4609-a035-5af59af4df18}, 7932A40C, 79764890, 79764888) stub.
0024:fixme:ntdll:EtwEventRegister ({cc2bcbba-16b6-4cf3-8990-d74c2e8af500}, 7932A40C, 797648C0, 797292E8) stub.
00d4:fixme:win:User32InitializeImmEntryTable native imm32.dll not supported
0024:fixme:seh:WerRegisterRuntimeExceptionModule (L"C:\\windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscordacwks.dll", 79140000) stub
27016|SIGSEGV @0x4371f730 (???(0x4371f730)) (x86pc=0x7922daf5/???:"???", esp=0x41fcfc7c), for accessing 0x4575000c (code=2), db=0x65011948(0x4371f6d8:0x4371f7d8/0x7922dae3:0x7922db24/???)
0024:fixme:nls:LCIDToLocaleName unsupported flags 8000000
0024:fixme:advapi:RegisterEventSourceW ((null),L".NET Runtime"): stub
0024:fixme:advapi:ReportEventW (CAFE4242,0x0001,0x0000,0x000003ff,00000000,0x0001,0x00000000,41FCEA74,00000000): stub
0024:err:eventlog:ReportEventW L"Application: RMS Express.exe\nFramework Version: v4.0.30319\nDescription: The process was terminated due to an internal error in the .NET Runtime at IP 7922DAF5 (79140000) with exit code 80131506.\n"
0024:fixme:advapi:DeregisterEventSource (CAFE4242) stub
pi@raspberrypi:~/.wine/drive_c/RMS Express $ 
WheezyE commented 3 years ago

Thanks for the updated signal handling! I did some testing with a3459712ce27e2ef1b4b64da82ac3a89ee7d2c25 today: I'm getting different errors now with the same DLL setup. It appears that ngen.exe (alone) and also dotnet35sp1 installer both hang indefinitely here now though (I let it run for two hours in both cases):

0434:fixme:advapi:DeregisterEventSource (CAFE4242) stub
0434:fixme:msvcrt:__clean_type_info_names_internal (0x6a303524) stub
0474:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION

I think vcrun2005 installs now though(?) dotnet40 installer might be broken again, but I'll try to confirm that. I'm working on logging the dotnet35sp1 installer with log2 but am running into some strangeness. I'll try to finish that logging and upload some analysis tomorrow or so.

WheezyE commented 3 years ago

I'm not sure which exact commit fixed it, but as of Box86 a19e3ed3, dotnet35sp1 seems to completely install on its own!

dotnet35sp1

This has been such a tricky installer that I want to do a little more testing before we finally close the issue and add it to the compatability list. But I'm pretty stoked that it's installing! Nice work

WheezyE commented 3 years ago

Been kinda busy lately but got a chance to experiment with dotnet35 some more with the new box86 updates. It seems to be crashing again. I’ll try to bisect tomorrow, but just wanted to post the error message I found for now:


0334:err:msi:__wine_msi_call_dll_function failed to load dll L"C:\\users\\pi\\Temp\\msidb48.tmp" (1001)
wine: Unhandled page fault on write access to 100064D3 at address 7BC564E0 (thread 0334), starting debugger...
WheezyE commented 3 years ago

The regression is from somewhere between Jan 1 & 2.

Jan 1 (db5efa89) installs completely. Jan 2 (eca39e6a) the installer fails

I'll try to find the exact commit tomorrow

WheezyE commented 3 years ago

This took forever to find, but it's the eca39e6 commit that appears to have broken the dotnet35sp1 installer (dotnet35sp1 installer installs completely with 4639dc8)

WheezyE commented 3 years ago

I found something interesting after testing some winlink stuff: The error dialog box in dotnet35sp1 installer seems to go away if I install crypt32 before running the installer. But the installer then says it can't install properly, just doesn't ask to send an error report. riched30 and richtx32 seem to suppress a lot of errors in the terminal too (I think)

Here are more details including my starting conditions

# After removing wineprefix
wineserver -k
# Then close all terminal windows.  Open a new terminal window.  Then type in these commands:
DISPLAY=0 wine wineboot; BOX86_NOBANNER=1 winetricks crypt32 corefonts riched30 richtx32 dotnet35sp1 

If I install dotnet35sp1 with crypt32, then I don't get the error dialog box in the dotnet35sp1 installer, but the installer fails here.

The .NET Runtime Optimization Service is started and paused.
0268:fixme:msvcrt:__clean_type_info_names_internal (0xca2a5c) stub
0278:fixme:clusapi:GetNodeClusterState ((null),0031ECBC) stub!
0278:fixme:advapi:DecryptFileA ("y:\\9530f22b92dbfb46aefbed8f7397\\", 00000000): stub
0284:fixme:setupapi:pSetupGetGlobalFlags stub
0284:fixme:wintrust:WinVerifyTrust unimplemented for 4
0284:fixme:ole:NdrCorrelationInitialize (0031A6E8, 0031A1D4, 1024, 0x0): semi-stub
0284:fixme:ole:NdrCorrelationFree (0031A6E8): stub
0284:fixme:wintrust:SOFTPUB_VerifyImageHash Cannot verify hash for pszObjId=(null)
02d0:err:ole:com_get_class_object class {4e14fba2-2e22-11d1-9964-00c04fbbb345} not registered
02d0:err:ole:create_server class {4e14fba2-2e22-11d1-9964-00c04fbbb345} not registered
02d0:err:ole:com_get_class_object no class object {4e14fba2-2e22-11d1-9964-00c04fbbb345} could be created for context 0x5
02e4:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
Microsoft (R) CLR Native Image Generator - Version 2.0.50727.3053
Copyright (c) Microsoft Corporation.  All rights reserved.

I tried secur32, setupapi, and ole32 too (separately and in some combos), but they seem to crash the installer

Combos: crypt32 - no error report dialog box, terminal looks really clean, but installer says it failed crypt32 + secur32 - crash crypt32 + setupapi + ole32 - lots of ngen errors & errors, hangs forever, I terminated it crypt32 + ole32 - tons of errors then installer says it failed crypt32 + ole32 + oleaut32 - tons of errors then installer says it failed

WheezyE commented 3 years ago

I think I tracked that error dialogue in the dotnet35sp1 installer to this commit: dc07d477de0fd4473bf92ab27864932e70040b4f - error dialogue, but dotnet installs successfully db5efa89085a085d733c859662799ebcf4e5c3c2 - installs without any errors

ptitSeb commented 3 years ago

The add of syscall 318? That's really odd! I'll check that later.

WheezyE commented 3 years ago

Just an update that the new libcrypt wrapper in 0ffc8682b1bc30b5afa0d390f2126c7d4247ebb0 seems to cause dotnet35sp1 installer to crash again (fairly early in the install process though, which makes testing faster). It would be great to have crypt32 (and libcrypt) wrapped though for compatability of dotnet programs. I'm gonna test this wrapper on Winlink next (with a side-loaded dotnet35sp1 install) to see how it helps Winlink.

I tried dropping in a native crypt32.dll (BOX86_NOBANNER=1 winetricks crypt32) but the crash persists (I tried BOX86_NOBANNER=1 winetricks -q msxml3 riched30 richtx32 comctl32ocx comdlg32ocx too without any luck)

ptitSeb commented 3 years ago

Another regression just for a new library wrapping? This is so strange. Also, this library have 6 functions wrapped! I'm trying to stabilise things but I seems to make things worse and worse for the last 2 weeks.

WheezyE commented 3 years ago

I think you are making it more stable in a general trend being more and more compatability - it's that there are so many moving pieces that it's like a cha-cha (two steps forward, one step back haha). The regression I found yesterday was from Jan 1-2 still (I just didn't find it till now), and having this libcrypt is really nice since it will help other dotnet applications.

I also noticed that in older builds that install dotnet35sp1, if I use a native crypt32.dll, the dotnet35sp1 installer crashes again. So I think this is on the right track.

WheezyE commented 3 years ago

Not sure if this helps, but I logged box86 db5efa89085a085d733c859662799ebcf4e5c3c2 (which installs dotnet35sp1 installer) log here, then I logged box86 002638ef961179806f6477969cee7e166a6c349f (which still has a crash in dotnet35sp1 installer) log here.

Comparing the two files in notepad++ (with compare plugin) seems to show that the problem lies somewhere in not being able to open ngen again (which should show up in the terminal as Microsoft (R) CLR Native Image Generator - Version 2.0.50727.3053 when it's called/run).

Later on in the log of the crashing box86 build, we see a couple 0124:err:mscoree:LoadLibraryShim error reading registry key for installroot's pop up too. It's possible that these registry key errors are due to ngen not having been run.

WheezyE commented 3 years ago

After installing dotnet35sp1 with db5efa8, then installing box86 9c5a9ebb (latest nightly build in test.sh), then trying to register vbc.exe (just a random exe for testing) with ngen.exe, the terminal spits out this and seems to freeze.

pi@raspberrypi:~/.wine/drive_c/windows/Microsoft.NET/Framework/v2.0.50727 $ wine ngen.exe vbc.exe
Box86 with Dynarec v0.2.1 9c5a9ebb built on Feb 10 2021 12:04:05
Box86 with Dynarec v0.2.1 9c5a9ebb built on Feb 10 2021 12:04:05
Box86 with Dynarec v0.2.1 9c5a9ebb built on Feb 10 2021 12:04:05
021c:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
Microsoft (R) CLR Native Image Generator - Version 2.0.50727.3053
Copyright (c) Microsoft Corporation.  All rights reserved.
Installing assembly C:\windows\Microsoft.NET\Framework\v2.0.50727\vbc.exe
00f4:fixme:ole:NdrClearOutParameters (00D5EFF0,00174C22,00D5F718): stub
00f4:err:ole:ifproxy_release_public_refs IRemUnknown_RemRelease failed with error 0x800706ba
00f4:err:ole:ifproxy_release_public_refs IRemUnknown_RemRelease failed with error 0x800706ba
00f4:fixme:advapi:RegisterEventSourceW ((null),L".NET Runtime Optimization Service"): stub
00f4:fixme:advapi:DeregisterEventSource (CAFE4242) stub
022c:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION

Running it again with log1 gives this:

pi@raspberrypi:~/.wine/drive_c/windows/Microsoft.NET/Framework/v2.0.50727 $ BOX86_LOG=1 wine ngen.exe vbc.exe
Debug level is 1
Dynarec for ARM, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA PageSize:4096
Box86 with Dynarec v0.2.1 9c5a9ebb built on Feb 10 2021 12:04:05
BOX86: Wine detected, WINEPRELOADRESERVE=""
Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/
Using default BOX86_PATH: ./:bin/
Counted 52 Env var
Looking for /usr/local/bin/wine
argv[1]="ngen.exe"
argv[2]="vbc.exe"
Using native(wrapped) libpthread.so.0
Using native(wrapped) libdl.so.2
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux.so.2
Using native(wrapped) librt.so.1
Using emulated /home/pi/wine/bin/../lib/wine/ntdll.so
Using native(wrapped) libm.so.6
Debug level is 1
Dynarec for ARM, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA PageSize:4096
Box86 with Dynarec v0.2.1 9c5a9ebb built on Feb 10 2021 12:04:05
BOX86: Wine detected, WINEPRELOADRESERVE=""
Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/
Using default BOX86_PATH: ./:bin/
Counted 53 Env var
Looking for /home/pi/wine/bin/wine
argv[1]="ngen.exe"
argv[2]="vbc.exe"
Using native(wrapped) libpthread.so.0
Using native(wrapped) libdl.so.2
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux.so.2
Using native(wrapped) librt.so.1
Using emulated /home/pi/wine/bin/../lib/wine/ntdll.so
Using native(wrapped) libm.so.6
Debug level is 1
Dynarec for ARM, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA PageSize:4096
Box86 with Dynarec v0.2.1 9c5a9ebb built on Feb 10 2021 12:04:05
Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/
Using default BOX86_PATH: ./:bin/
Counted 53 Env var
Looking for /home/pi/wine/bin/wineserver
Using native(wrapped) libdl.so.2
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux.so.2
Using native(wrapped) libpthread.so.0
Using native(wrapped) librt.so.1
Using emulated /home/pi/wine/lib/wine/../libwine.so.1
0078:err:ole:start_rpcss Failed to start RpcSs service
00cc:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
00d8:fixme:process:SetProcessShutdownParameters (00000380, 00000000): partial stub.
Warning: Cannot dlopen("/home/pi/wine/lib/wine/kernel32.so"/0x65047798, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/kernelbase.so"/0x6508d5c0, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/mscoree.so"/0x6513a0c8, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/advapi32.so"/0x6513a0c8, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/sechost.so"/0x6513a0c8, 2)
Using emulated /home/pi/wine/lib/wine/ucrtbase.dll.so
Warning: Cannot dlopen("/home/pi/wine/lib/wine/ucrtbase.so"/0x6513d7a8, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/dbghelp.so"/0x6516a510, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/ole32.so"/0x651711a8, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/combase.so"/0x65173390, 2)
Using emulated /home/pi/wine/lib/wine/gdi32.so
Warning: Cannot dlopen("/home/pi/wine/lib/wine/rpcrt4.so"/0x65192998, 2)
Using emulated /home/pi/wine/lib/wine/user32.so
Warning: Cannot dlopen("/home/pi/wine/lib/wine/setupapi.so"/0x651b35e8, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/version.so"/0x651b3a30, 2)
Using emulated /home/pi/wine/lib/wine/shell32.dll.so
Warning: Cannot dlopen("/home/pi/wine/lib/wine/shell32.so"/0x651c0e20, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/shlwapi.so"/0x651ccfc0, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/shcore.so"/0x651ca458, 2)
Using emulated /home/pi/wine/lib/wine/msvcr80.dll.so
Warning: Cannot dlopen("/home/pi/wine/lib/wine/msvcr80.so"/0x6524fdd8, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/advapi32.so"/0x652513a0, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/sechost.so"/0x652513f8, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/ucrtbase.so"/0x652513f8, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/oleaut32.so"/0x65251618, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/ole32.so"/0x65285750, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/combase.so"/0x652518f0, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/rpcrt4.so"/0x65251618, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/setupapi.so"/0x65251618, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/version.so"/0x65251618, 2)
Debug level is 1
Dynarec for ARM, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA PageSize:4096
Box86 with Dynarec v0.2.1 9c5a9ebb built on Feb 10 2021 12:04:05
BOX86: Wine detected, WINEPRELOADRESERVE="000400000-00048c000"
Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/
Using default BOX86_PATH: ./:bin/
Counted 55 Env var
Looking for /home/pi/wine/bin/wine
argv[1]="C:\windows\system32\conhost.exe"
argv[2]="--unix"
argv[3]="--width"
argv[4]="80"
argv[5]="--height"
argv[6]="24"
argv[7]="--server"
argv[8]="0x10"
Using native(wrapped) libpthread.so.0
Using native(wrapped) libdl.so.2
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux.so.2
Using native(wrapped) librt.so.1
Using emulated /home/pi/wine/bin/../lib/wine/ntdll.so
Using native(wrapped) libm.so.6
Using emulated /home/pi/wine/lib/wine/../libwine.so.1
Warning: Cannot dlopen("/home/pi/wine/lib/wine/kernel32.so"/0x641c2388, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/kernelbase.so"/0x641f9228, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/conhost.so"/0x6420daf8, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/advapi32.so"/0x6424dfc8, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/sechost.so"/0x6424dfc8, 2)
0024:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
Using emulated /home/pi/wine/lib/wine/ucrtbase.dll.so
Warning: Cannot dlopen("/home/pi/wine/lib/wine/ucrtbase.so"/0x64253c00, 2)
Using emulated /home/pi/wine/lib/wine/gdi32.so
Using emulated /home/pi/wine/lib/wine/user32.so
Warning: Cannot dlopen("/home/pi/wine/lib/wine/setupapi.so"/0x642b80c8, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/rpcrt4.so"/0x642b80c8, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/version.so"/0x642b80c8, 2)
Using native(wrapped) libfreetype.so.6
Using native(wrapped) libfontconfig.so.1
Using native(wrapped) libfreetype.so.6
Using native(wrapped) libfontconfig.so.1
Warning: Cannot dlopen("/home/pi/wine/lib/wine/imm32.so"/0x65a35670, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/imm32.so"/0x648c44b0, 2)
Microsoft (R) CLR Native Image Generator - Version 2.0.50727.3053
Copyright (c) Microsoft Corporation.  All rights reserved.
Warning: Cannot dlopen("/home/pi/wine/lib/wine/shlwapi.so"/0x65c25680, 2)
Warning: Cannot dlopen("/home/pi/wine/lib/wine/shcore.so"/0x65c25680, 2)
Installing assembly C:\windows\Microsoft.NET\Framework\v2.0.50727\vbc.exe
00ec:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
00d8:fixme:ole:NdrClearOutParameters (00D1EF38,0017338E,00D1F678): stub
00d8:err:ole:ifproxy_release_public_refs IRemUnknown_RemRelease failed with error 0x800706ba
00d8:fixme:advapi:RegisterEventSourceW ((null),L".NET Runtime Optimization Service"): stub
00d8:fixme:advapi:DeregisterEventSource (CAFE4242) stub
014c:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
Warning: Cannot dlopen("/home/pi/wine/lib/wine/actxprxy.so"/0x66072210, 2)
009c:err:clipboard:convert_selection Timed out waiting for SelectionNotify event
WheezyE commented 3 years ago

Happy to report that the installer is finishing again with dynarec on as of commit 86659b40bdecfc475ee71964aef892a8063fad32 (I believe - or close to it - I wasn’t able to install with dynarec on yesterday, though install with dynarec off has been working again as of at least 5/17)

Still having some trouble with running dotnet apps (with a sideloaded known working dotnet35sp1 wineprefix and with a dotnet35sp1 wineprefix created with box86), but we’ll get there

WheezyE commented 3 years ago

Incredible work, Seb. This still seems to be installing nicely with v0.2.3 681e06ce with dynarec on. Dynarec speeds up the installer considerably so that install takes about 25 minutes on a Pi4. I'll update the compatibility list.

akopac commented 1 year ago

Did you guys ever get Winlink express to work with Box86/wine? On Pi?

WheezyE commented 1 year ago

Yes we did! Please see Winelink (WheezyE) or build-a-pi (KM4ACK)

MaksymMalin commented 1 year ago

Current version still fails with wine 8 stable/staging with XPSEPSC. Should i try to use commits to compile version which passes XPSEPSC update procedure in order to make it work?

ptitSeb commented 1 year ago

Current version still fails with wine 8 stable/staging with XPSEPSC. Should i try to use commits to compile version which passes XPSEPSC update procedure in order to make it work?

That could help yes. Also, try to launch with BOX86_DNAREC_FORWARD=0