🏁🍎🐧 Add Mono to prerequisites list
See original GitHub issueOpenRA requires the Mono framework (>= 3.2) to be installed. Other games likely need it too.
https://github.com/OpenRA/OpenRA/wiki/Installation
https://itch.io/docs/itch/integrating/prereqs/
https://github.com/itchio/itch/issues?q=label%3Aprereqs
On Windows, Mono is available as an MSI package. However, on Windows, many Mono games, including OpenRA, can also be ran if the .NET framework is installed. We could either have Itch install Mono regardless of .NET, install Mono if .NET is missing, or install .NET when Mono is listed as a prerequisite. To be safe, it would make sense to install Mono regardless.
On MacOS, Mono is available as a PKG package. Once installed, the executable is located at
/Library/Frameworks/Mono.framework/Versions/Current/bin/mono
On Ubuntu & Debian, Itch could just run sudo apt install mono-complete -y
to install Mono via apt
. For other Linux distributions, Mono is probably also offered through the package manager.
Once installed, the executable is located at /usr/bin/mono
As you’ve already ported the install logic to butler (https://github.com/itchio/itch/issues/1530) this should be implementable now.
Issue Analytics
- State:
- Created 6 years ago
- Comments:16
Top GitHub Comments
That is actually not true. Mono is bundled for both Linux and macOS.
I believe Mono apps should not have a problem with forwards compatibility. OpenRA, a Mono 3.2 app, runs just fine with Ubuntu 16.04’s Mono, 4.2.1.
EDIT: I also installed Mono 5.8.0.127 (as Godot requires >= 5.4.1) and I can confirm that OpenRA, using Mono 3.2, still works just fine on 5.8.
2nd EDIT: 5.10 also works.
In my experiments with OpenRA, trying to call the system’s Mono directly (
/usr/bin/mono
) via Itch with an Itch app manifest will set the working directory to/usr/bin
which is obviously not right. When I tried to call it indirectly, with Itch calling a script which calls Mono, it just opens the script in a text file.The method I’m using right now is to have a file called
mono
which is a symlink to/usr/bin/mono
and ship this with the game. Then the Itch manifest calls “mono game.exe” This is obviously not ideal.