.NET and 64bit issues.

Questions about Wine on Linux
Locked
bviviano
Newbie
Newbie
Posts: 2
Joined: Mon Jul 30, 2018 9:36 am

.NET and 64bit issues.

Post by bviviano »

Hello. I've searched the FAQ, this forum and Google with no clear cut answer. If I missed something please point me there.

We have an in house developed Visual Studio application that can operate at both 32 and 64 bit. We're attempting to get a 64bit PREFIX created what includes .NET 4.0 and Visual C++ RunTime 2015. I've successfully gotten this application working in a 32bit PREFIX using winetricks to install the requirements but can't get a 64bit PREFIX to work.

Environment specifics
Linux OS: Fedora 28 (64bit)
WINE: winehq-stable.x64_64 (3.0.2 installed via yum)
winetricks: Latest from git repository

Install procedure I am using
------------------------
rm -rf ~/.wine
export WINEARCH=win64
wineboot
winecfg (set Windows Version to XP)
winetricks: winetricks --unattended vcrun2015 dotnet40 corefonts

The issue is, as soon as I install dotnet40 (with or without vcrun2015 and corefonts) any attempt to use wine (wine64, wineboot, winecfg, etc) returns the error:

001c:err:module:import_dll Library MSVCR100_CLR0400.dll (which is needed by L"C:\\windows\\Microsoft.NET\\Framework64\\v4.0.30319\\mscorsvw.exe") not found
001c:err:module:import_dll Library mscoree.dll (which is needed by L"C:\\windows\\Microsoft.NET\\Framework64\\v4.0.30319\\mscorsvw.exe") not found
001c:err:module:attach_dlls Importing dlls for L"C:\\windows\\Microsoft.NET\\Framework64\\v4.0.30319\\mscorsvw.exe" failed, status c0000135
000f:err:service:process_send_command service protocol error - failed to write pipe!
000f:fixme:service:scmdatabase_autostart_services Auto-start service L"clr_optimization_v4.0.30319_64" failed to start: 1053

I've searched my PREFIX and the only included MSVCR100_CLR0400.dll is 32bit:

$ find ~/.wine -iname MSVCR100_CLR0400.dll -exec file {} \;
~/.wine/drive_c/windows/syswow64/msvcr100_clr0400.dll: PE32 executable (DLL) (GUI) Intel 80386, for MS Windows

while mscorsvw.exe is 64bit (PE32+):

$ file ~/.wine/drive_c/windows/Microsoft.NET/Framework64/v4.0.30319/mscorsvw.exe
~/.wine/drive_c/windows/Microsoft.NET/Framework64/v4.0.30319/mscorsvw.exe: PE32+ executable (GUI) x86-64, for MS Windows

What is the correct/approved solution for getting the 64bit version of MSVCR100_CLR0400.dll and other dependencies installed and detected for a 64bit PREFIX for the .NET Framework?

Thanks.
User avatar
dimesio
Moderator
Moderator
Posts: 13201
Joined: Tue Mar 25, 2008 10:30 pm

Re: .NET and 64bit issues.

Post by dimesio »

64 bit .NET doesn't install or work in Wine.
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: .NET and 64bit issues.

Post by Bob Wya »

@bviviano

Take a look at: Github: Tk-Glitch / PKGBUILDS / winetricks-tkg-git.

Please use the forum Code tags for dumps of terminal output and commands...
Otherwise posts are way harder to wade through...
This rule holds for any technical forum.

Bob
bviviano
Newbie
Newbie
Posts: 2
Joined: Mon Jul 30, 2018 9:36 am

Re: .NET and 64bit issues.

Post by bviviano »

@bob
Sorry for not using the code format blocks in my original post.

Unfortunately using the patched winetricks as

Code: Select all

$ winetricks --unattended dotnet471
didn't work.

Code: Select all

00dd:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
00dd:err:ole:marshal_object couldn't get IPSFactory buffer for interface {5c6fb596-4828-4ed5-b9dd-293dad736fb5}
00dd:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80004002
00dd:err:ole:CoMarshalInterface Failed to marshal the interface {5c6fb596-4828-4ed5-b9dd-293dad736fb5}, 80004002
0291:err:rpc:I_RpcReceive we got fault packet with status 0x80004002
0012:fixme:ole:NdrClearOutParameters (0x33dd4c,0x689db860,0x33e19c): stub
0012:err:rpc:RpcAssoc_BindConnection syntax {00000131-0000-0000-c000-000000000046}, 0.0 not supported
0012:err:ole:ifproxy_release_public_refs IRemUnknown_RemRelease failed with error 0x800706b5
00f2:fixme:wer:WerSetFlags (2) stub!
00f2:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
00f2:err:ole:marshal_object couldn't get IPSFactory buffer for interface {5c6fb596-4828-4ed5-b9dd-293dad736fb5}
00f2:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80004002
00f2:err:ole:CoMarshalInterface Failed to marshal the interface {5c6fb596-4828-4ed5-b9dd-293dad736fb5}, 80004002
0292:err:rpc:I_RpcReceive we got fault packet with status 0x80004002
0012:fixme:ole:NdrClearOutParameters (0x33dd4c,0x689db860,0x33e19c): stub
0012:err:rpc:RpcAssoc_BindConnection syntax {00000131-0000-0000-c000-000000000046}, 0.0 not supported
0012:err:ole:ifproxy_release_public_refs IRemUnknown_RemRelease failed with error 0x800706b5
00f9:fixme:wer:WerSetFlags (2) stub!
00f9:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
00f9:err:ole:marshal_object couldn't get IPSFactory buffer for interface {5c6fb596-4828-4ed5-b9dd-293dad736fb5}
00f9:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80004002
00f9:err:ole:CoMarshalInterface Failed to marshal the interface {5c6fb596-4828-4ed5-b9dd-293dad736fb5}, 80004002
0291:err:rpc:I_RpcReceive we got fault packet with status 0x80004002
0012:fixme:ole:NdrClearOutParameters (0x33dd4c,0x689db860,0x33e19c): stub
0012:err:rpc:RpcAssoc_BindConnection syntax {00000131-0000-0000-c000-000000000046}, 0.0 not supported
0012:err:ole:ifproxy_release_public_refs IRemUnknown_RemRelease failed with error 0x800706b5
0100:fixme:wer:WerSetFlags (2) stub!
0100:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
0100:err:ole:marshal_object couldn't get IPSFactory buffer for interface {5c6fb596-4828-4ed5-b9dd-293dad736fb5}
0100:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80004002
0100:err:ole:CoMarshalInterface Failed to marshal the interface {5c6fb596-4828-4ed5-b9dd-293dad736fb5}, 80004002
0292:err:rpc:I_RpcReceive we got fault packet with status 0x80004002
0012:fixme:ole:NdrClearOutParameters (0x33dd4c,0x689db860,0x33e19c): stub
0012:err:rpc:RpcAssoc_BindConnection syntax {00000131-0000-0000-c000-000000000046}, 0.0 not supported
0012:err:ole:ifproxy_release_public_refs IRemUnknown_RemRelease failed with error 0x800706b5
0116:fixme:wer:WerSetFlags (2) stub!
0116:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
0116:err:ole:marshal_object couldn't get IPSFactory buffer for interface {5c6fb596-4828-4ed5-b9dd-293dad736fb5}
0116:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80004002
0116:err:ole:CoMarshalInterface Failed to marshal the interface {5c6fb596-4828-4ed5-b9dd-293dad736fb5}, 80004002
0291:err:rpc:I_RpcReceive we got fault packet with status 0x80004002
0012:fixme:ole:NdrClearOutParameters (0x33dd4c,0x689db860,0x33e19c): stub
0012:err:rpc:RpcAssoc_BindConnection syntax {00000131-0000-0000-c000-000000000046}, 0.0 not supported
0012:err:ole:ifproxy_release_public_refs IRemUnknown_RemRelease failed with error 0x800706b5
0122:fixme:wer:WerSetFlags (2) stub!
0122:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
0122:err:ole:marshal_object couldn't get IPSFactory buffer for interface {5c6fb596-4828-4ed5-b9dd-293dad736fb5}
0122:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80004002
0122:err:ole:CoMarshalInterface Failed to marshal the interface {5c6fb596-4828-4ed5-b9dd-293dad736fb5}, 80004002
0292:err:rpc:I_RpcReceive we got fault packet with status 0x80004002
0012:fixme:ole:NdrClearOutParameters (0x33dd4c,0x689db860,0x33e19c): stub
0012:err:rpc:RpcAssoc_BindConnection syntax {00000131-0000-0000-c000-000000000046}, 0.0 not supported
0012:err:ole:ifproxy_release_public_refs IRemUnknown_RemRelease failed with error 0x800706b5
0129:fixme:wer:WerSetFlags (2) stub!
0129:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
0129:err:ole:marshal_object couldn't get IPSFactory buffer for interface {5c6fb596-4828-4ed5-b9dd-293dad736fb5}
0129:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80004002
0129:err:ole:CoMarshalInterface Failed to marshal the interface {5c6fb596-4828-4ed5-b9dd-293dad736fb5}, 80004002
0291:err:rpc:I_RpcReceive we got fault packet with status 0x80004002
0012:fixme:ole:NdrClearOutParameters (0x33dd4c,0x689db860,0x33e19c): stub
0012:err:rpc:RpcAssoc_BindConnection syntax {00000131-0000-0000-c000-000000000046}, 0.0 not supported
0012:err:ole:ifproxy_release_public_refs IRemUnknown_RemRelease failed with error 0x800706b5
013d:fixme:wer:WerSetFlags (2) stub!
013d:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
013d:err:ole:marshal_object couldn't get IPSFactory buffer for interface {5c6fb596-4828-4ed5-b9dd-293dad736fb5}
013d:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80004002
013d:err:ole:CoMarshalInterface Failed to marshal the interface {5c6fb596-4828-4ed5-b9dd-293dad736fb5}, 80004002
0292:err:rpc:I_RpcReceive we got fault packet with status 0x80004002
0012:fixme:ole:NdrClearOutParameters (0x33dd4c,0x689db860,0x33e19c): stub
0012:err:rpc:RpcAssoc_BindConnection syntax {00000131-0000-0000-c000-000000000046}, 0.0 not supported
0012:err:ole:ifproxy_release_public_refs IRemUnknown_RemRelease failed with error 0x800706b5
0144:fixme:wer:WerSetFlags (2) stub!
0144:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
0144:err:ole:marshal_object couldn't get IPSFactory buffer for interface {5c6fb596-4828-4ed5-b9dd-293dad736fb5}
0144:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80004002
0144:err:ole:CoMarshalInterface Failed to marshal the interface {5c6fb596-4828-4ed5-b9dd-293dad736fb5}, 80004002
0291:err:rpc:I_RpcReceive we got fault packet with status 0x80004002
0012:fixme:ole:NdrClearOutParameters (0x33dd4c,0x689db860,0x33e19c): stub
0012:err:rpc:RpcAssoc_BindConnection syntax {00000131-0000-0000-c000-000000000046}, 0.0 not supported
0012:err:ole:ifproxy_release_public_refs IRemUnknown_RemRelease failed with error 0x800706b5
0152:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
0152:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
0150:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
0150:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
0150:fixme:wuapi:automatic_updates_Resume 
003b:fixme:advapi:LsaOpenPolicy ((null),0x33f0bc,0x00000001,0x33f0b0) stub
003b:fixme:advapi:LsaClose (0xcafe) stub
003b:fixme:advapi:InitiateSystemShutdownExW (null) L"" 0 0 1 0x80000000
exit status: 194
------------------------------------------------------
exit status 194 - dotnet471 installation failed
------------------------------------------------------
However, when I run wine64 uninstaller, it shows .NET 4.7.1 as installed

Code: Select all

$ wine64 uninstaller --list
{92FB6C44-E685-45AD-9B20-CADF4CABA132} - 1033|||Microsoft .NET Framework 4.7.1
{BB9BDB97-C247-4F20-B710-8B6765F67105}|||Wine Gecko (32-bit)
{3AD83002-EEB7-4EB9-BDCB-A533EE281826}|||Wine Gecko (64-bit)
But wineboot still gets the same error at start

Code: Select all

$ wineboot
0012:fixme:wer:WerSetFlags (2) stub!
0012:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
0019:fixme:process:SetProcessShutdownParameters (00000380, 00000000): partial stub.
0019:fixme:ntdll:EtwEventRegister ({319dc449-ada5-50f7-428e-957db6791668}, 0x993720, 0x9e0320, 0x9e0338) stub.
0019:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 0x971b7d, 28) stub
001c:err:module:import_dll Library MSVCR120_CLR0400.dll (which is needed by L"C:\\windows\\Microsoft.NET\\Framework64\\v4.0.30319\\mscorsvw.exe") not found
001c:err:module:import_dll Library mscoree.dll (which is needed by L"C:\\windows\\Microsoft.NET\\Framework64\\v4.0.30319\\mscorsvw.exe") not found
001c:err:module:attach_dlls Importing dlls for L"C:\\windows\\Microsoft.NET\\Framework64\\v4.0.30319\\mscorsvw.exe" failed, status c0000135
000f:err:service:process_send_command service protocol error - failed to write pipe!
000f:fixme:service:scmdatabase_autostart_services Auto-start service L"clr_optimization_v4.0.30319_64" failed to start: 1053
So like with .NET 4.0, it appears I am still missing key 64bit libraries. But with .NET 4.7.1 it's MSVCR120_CLR0400.dll instead of MSVCR100_CLR400.dll. I tried copying the missing libraries from a running Windows 10 64bit installation but that resulted in

Code: Select all

001c:fixme:seh:call_stack_handlers nested exception
001c:fixme:seh:call_stack_handlers nested exception
001c:fixme:seh:call_stack_handlers nested exception
001c:fixme:seh:call_stack_handlers nested exception
001c:fixme:seh:call_stack_handlers nested exception
001c:fixme:seh:call_stack_handlers nested exception
wine: Call from 0x7bc689c0 to unimplemented function MSVCR120_CLR0400.dll.__C_specific_handler, aborting
001c:err:seh:setup_exception stack overflow 2352 bytes in thread 001c eip 000000007bc54b47 esp 0000000000140ce0 stack 0x140000-0x141000-0x240000
000f:err:service:process_send_command service protocol error - failed to write pipe!
000f:fixme:service:scmdatabase_autostart_services Auto-start service L"clr_optimization_v4.0.30319_64" failed to start: 1053
0036:fixme:ole:CoInitializeSecurity (0x33f390,-1,(nil),(nil),6,2,(nil),8192,(nil)) - stub!
tim110011
Level 2
Level 2
Posts: 30
Joined: Wed Jul 05, 2017 2:29 am

Re: .NET and 64bit issues.

Post by tim110011 »

64bit files will not install, i have just filed a bug report about wine's write behavior to system32
https://bugs.winehq.org/show_bug.cgi?id=45611
Locked