Open mirh opened 4 years ago
By the way, it might be worth considering using binaries from release versions of .NET Core 3.1 LTS and not previews of .NET Core 3.0, which is EOL for over a month now. One downside however would be requirement to download larger runtime packages, as I was unable to find only native binaries packaged separately.
The newest version (3.1.3) can be found here for x64 and here for x86. Accessing future versions shouldn't be too hard as well; I suppose a simple s/3.1.3/$version/g
for each link will do.
@mirh can you show an example application that needs this?
I would guess a lot of those using .NET/WPF? Esme seemed saddened here not to be able to pull it off. I don't really have much specific rationale myself then.. when some program crashes on start, it's hard to tell who's at fault.
I tried this with a couple .Net applications, DayZ Launcher (https://dayzlauncher.com/) and ME3 Legendary Explorer (https://github.com/ME3Tweaks/LegendaryExplorer). In both cases, with wine-7.6 + wine-mono, it crashes with:
Unhandled Exception:
System.Runtime.Remoting.RemotingException: Channel {1E299AE2-74C8-4CD8-6B17-A86E0ED3C4D2}austin:SingeInstanceIPCChannel is not securable while ensureSecurity is specified as true
at System.Runtime.Remoting.Channels.ChannelServices.RegisterChannel (System.Runtime.Remoting.Channels.IChannel chnl, System.Boolean ensureSecurity) [0x0002a] in <e70d6e9587d64cb3abb4b3f99bbf5a0d>:0
at LauncherCommon.Util.SingleInstance`1[TApplication].CreateRemoteService (System.String channelName) [0x00045] in <8a80a2158b2441738cb99e4d333512c4>:0
at LauncherCommon.Util.SingleInstance`1[TApplication].InitializeAsFirstInstance (System.String uniqueName) [0x00039] in <8a80a2158b2441738cb99e4d333512c4>:0
at DZLauncher.App.Main (System.String[] args) [0x00000] in <072914a088794593bf9ce19027d413fb>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.Runtime.Remoting.RemotingException: Channel {1E299AE2-74C8-4CD8-6B17-A86E0ED3C4D2}austin:SingeInstanceIPCChannel is not securable while ensureSecurity is specified as true
at System.Runtime.Remoting.Channels.ChannelServices.RegisterChannel (System.Runtime.Remoting.Channels.IChannel chnl, System.Boolean ensureSecurity) [0x0002a] in <e70d6e9587d64cb3abb4b3f99bbf5a0d>:0
at LauncherCommon.Util.SingleInstance`1[TApplication].CreateRemoteService (System.String channelName) [0x00045] in <8a80a2158b2441738cb99e4d333512c4>:0
at LauncherCommon.Util.SingleInstance`1[TApplication].InitializeAsFirstInstance (System.String uniqueName) [0x00039] in <8a80a2158b2441738cb99e4d333512c4>:0
With https://github.com/austin987/winetricks/pull/new/issue-1535-wpf-presentation-framework, which adds native PresentationNative_cor3.dll, wpfgfx_cor3.dll, and D3DCompiler_47_cor3.dll from the windows desktop runtime, there is no difference, I get the same crash.
Unless someone can show an application that is improved by this, I don't see any reason to merge it. I'll leave this bug open for a while in case someone wants to try/investigate.
Uh, damn. This was really really disappointing. Thanks for taking the bother that I could not. Maybe @madewokherd can chime in.
EDIT: https://github.com/madewokherd/wine-mono/issues/64 I guess you were very unlucky into hitting some other bug. Maybe older versions of ME3explorer could give you more luck?
A lot of PresentationNative's functionality has since been replaced, either in a replacement for the dll or on the managed side in PresentationCore, though not all of it.
FWIW it should be relatively obvious when this is a problem, and it doesn't seem to come up very often.
When coupled with wine-mono 5+. See instructions here.