Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better support for Microsoft .NET Framework redists #1786

Closed
2 tasks done
Rabcor opened this issue Oct 20, 2018 · 7 comments
Closed
2 tasks done

Better support for Microsoft .NET Framework redists #1786

Rabcor opened this issue Oct 20, 2018 · 7 comments
Labels
Feature Request New feature or request

Comments

@Rabcor
Copy link

Rabcor commented Oct 20, 2018

Feature Request

I confirm:

  • that I haven't found another request for this feature.
  • that I have checked whether there are updates for my system available that
    contain this feature already.

Description

Installing .NET Framework into wine prefixes can be a challenge. Sometimes using winetricks (or for proton, protontricks) will work, but usually I've found that it does not, in those cases the recommended solution is often something along the lines of "Set the prefix to Windows XP mode, download a dotnet framework standalone installer, and install it" but even then, it's not guaranteed to work.

I frequently get failures where mscoree.dll is missing or errors where ngen.exe is not found when I try to deal with this.

Hopefully something like an automated script that detects if a game's installscript is trying to set up .NET redists, intercepts it, and installs it some other way that's guaranteed to work instead. Or alternatively setting up a list with ids of games that require it with some method to do it manually in case the game is not on the list.

Justification

It is already poorly implemented in winetricks, but the number of games that require NET Framework is awfully high, and the same number of games will typically fail to install NET Framework via the typical install scripts with Proton.

Because it can be challenging to get net framework installed in wine prefixes even without proton involved, and because of the number of games that require it is huge, there needs to be better support for installing it for proton prefixes.

Risks [optional]

Possibly legal ones depending on implementation.

References [optional]

https://github.com/ValveSoftware/Proton/issues?utf8=%E2%9C%93&q=net+framework
#495
And many other as of yet unreported ones (like paladins and smite, killing floor 2 also optionally requires it)

@vanyasem
Copy link

Possible duplicate of #18

@kisak-valve kisak-valve added the Feature Request New feature or request label Oct 20, 2018
@ghost
Copy link

ghost commented Oct 20, 2018

Possible duplicate of #18

I suppose that's fine IF Proton came with mono and that removed the need to install the .net redist package or whatever for all games.

However, Wine 3.18 already includes one .net fix anyway that should help in some situations so its not like they aren't do this anyway. There's a lot of stuff to do so it takes time.
https://www.winehq.org/announce/3.18

45680  Microsoft .NET Framework 3.5 (SP1) fails to install in 64-bit WINEPREFIX

@MagicRB
Copy link

MagicRB commented Oct 20, 2018

Also mono does not work for all games, for example, Space Engineers won't start with mono. Mono needs to be removed and .net 4.7 needs to be installed instead, but yes mono would definitely help.

@Thinkaboutmin
Copy link

Thinkaboutmin commented Oct 21, 2018

AFAIK, Mono doesn't work together with .NET. With this in mind, I ponder, what happens when you start a game from Steam? It installs all the prerequisites... Meaning that .NET will be installed as well(if needed) therefore, Mono might be unusable. Not to mention that it's very unfriendly for the user to see a installation failing(or not even installing, like .NET 3.5). Although it would be awesome to have some workaround, without using any .NET.

Edit:
Forget about this part, as Proton "uses" Windows 7, meaning that it fail by saying that it's incompatible.

(or not even installing, like .NET 3.5)

@Rabcor
Copy link
Author

Rabcor commented Oct 22, 2018

Possible duplicate of #18

No it is not, mono is an attempt to duplicate the functionality of the .NET framework, a mostly successful attempt, yet not successful enough for our purposes in gaming.

@Rabcor
Copy link
Author

Rabcor commented Nov 2, 2018

It's worth mentioning that there's a regression in proton, where installing .NET framework 4.6 or higher does not work in proton 3.16 (last worked in 3.7 I think). installing .NET framework 4.0 does however work.

@DanMan
Copy link

DanMan commented Jan 6, 2019

FYI: I've gotten 3 games (DmC, Brothers:ATO2S, and Killer Is Dead) to work by forcing winetricks to install dotnet40 a 2nd time whenever I got the can't find ngen.exe error after the 1st time.

Maybe that has to do with some async operations? I've read on the Wine Bugzilla that that's what's preventing the Bayonetta config file from being stored.

As others mentioned: There's also the general problem that the Proton prefix defaults to Win7 which prevents dotnet35 for example from being installed (Win7 comes with it pre-installed). Example: the Batman games. For Arkham City I literally only had to switch the Windows version of the prefix to WinXP to get .Net to install through Steam's own pre-launch setup and run the game. Took about 20 min. though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Request New feature or request
Projects
None yet
Development

No branches or pull requests

7 participants