https://bugs.winehq.org/show_bug.cgi?id=47807
Bug ID: 47807 Summary: Wine Mono fails to install fakedlls Product: Wine Version: 4.16 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: msi Assignee: wine-bugs@winehq.org Reporter: madewokherd@gmail.com Distribution: ---
When creating a new prefix and installing Wine Mono by downloading the msi, fakedlls are not installed in c:\windows\Microsoft.NET. For example, fusion.dll is missing.
I do not believe this was caused by a change in Wine Mono.
This may be relevant: 001c:err:msi:execute_command unable to execute command 2 001c:err:msi:execute_command unable to execute command 2
https://bugs.winehq.org/show_bug.cgi?id=47807
Vincent Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, regression, | |source
https://bugs.winehq.org/show_bug.cgi?id=47807
Vincent Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|msi |-unknown
--- Comment #1 from Vincent Povirk madewokherd@gmail.com --- Note that the failure ONLY occurs when creating a new prefix.
https://bugs.winehq.org/show_bug.cgi?id=47807
--- Comment #2 from Vincent Povirk madewokherd@gmail.com --- 0019:trace:msi:HANDLE_CustomType34 cmd L"C:\windows\syswow64\\rundll32.exe setupapi.dll,InstallHinfSection DefaultInstall 128 C:\windows\mono\mono-2.0\support\\dotnetfakedlls.inf" dir L"C:\windows\" ... 0019:trace:file:wine_nt_to_unix_file_name L"\windows\syswow64\rundll32.exe" not found in /home/meh/.wine/dosdevices/c:/windows/syswow64 ... 0019:trace:file:wine_nt_to_unix_file_name L"\windows\syswow64\rundll32.exe setupapi.dll,InstallHinfSection DefaultInstall 128 C:\windows\mono\mono-2.0\support\dotnetfakedlls.inf" not found in /home/meh/.wine/dosdevices/c:/windows/syswow64 0019:err:msi:execute_command unable to execute command 2 ... 0037:trace:file:CreateFileW L"C:\windows\system32\rundll32.exe" GENERIC_WRITE creation 1 attributes 0x0 0037:trace:file:RtlDosPathNameToNtPathName_U_WithStatus (L"C:\windows\system32\rundll32.exe",0x66cf54,(nil),(nil)) 0037:trace:file:RtlGetFullPathName_U (L"C:\windows\system32\rundll32.exe" 520 0x66cb58 (nil)) 0037:trace:file:lookup_unix_name redirecting -> "/home/meh/.wine/dosdevices/c:/windows/syswow64" + L"rundll32.exe"
It seems the msi is being run too early, before rundll32.exe exists.
https://bugs.winehq.org/show_bug.cgi?id=47807
--- Comment #3 from Vincent Povirk madewokherd@gmail.com --- Looking at setupapi code, WineFakeDlls should be run before RegisterDlls. However, wine.inf is run in win64 (which installs the msi) before win32.
Things do work in a 32-bit prefix.
We could do the Wine Mono install in wow64 instead of win64, but then we won't install it at all if no 32-bit wine is available.
https://bugs.winehq.org/show_bug.cgi?id=47807
Vincent Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Wine Mono fails to install |Wine Mono fails to install |fakedlls |fakedlls in a new 64-bit | |prefix
https://bugs.winehq.org/show_bug.cgi?id=47807
--- Comment #4 from Vincent Povirk madewokherd@gmail.com --- This also doesn't explain why the 64-bit fakedlls don't show up. Working theory: windowsdir\sysnative doesn't work on win64.
https://bugs.winehq.org/show_bug.cgi?id=47807
--- Comment #5 from Vincent Povirk madewokherd@gmail.com --- Looking at wineboot, the 32-bit and 64-bit wine.inf run in parallel. There's no way to know when fakedlls will be available for both architectures.
https://bugs.winehq.org/show_bug.cgi?id=47807
--- Comment #6 from Vincent Povirk madewokherd@gmail.com --- My best idea so far: Include a couple of custom action exe's that call setupapi.InstallHinfSection instead of calling rundll32.
https://bugs.winehq.org/show_bug.cgi?id=47807
Vincent Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |mscoree
--- Comment #7 from Vincent Povirk madewokherd@gmail.com --- That's how I ended up doing it: https://github.com/madewokherd/wine-mono/commit/7c73ec861d4e50afa2b9c1ac1f4e...
We'll get it in the next one.
https://bugs.winehq.org/show_bug.cgi?id=47807
Vincent Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Fixed by SHA1| |b06d272d635d30f570b440da230 | |8b53fcc43c7e9 Status|NEW |RESOLVED
--- Comment #8 from Vincent Povirk madewokherd@gmail.com --- Fixed in Wine Mono 4.9.4.
https://bugs.winehq.org/show_bug.cgi?id=47807
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #9 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 4.20.