0

What software is needed to deploy c# applications on Mac desktop? MS have released Visual Studio 2017 for Mac, but I imagine that other application(s) may be required to package applications for download and installation. Does anyone know what is needed? For Windows, VS Professional includes InstallShield LE, and other options are Wix, and InstallAware but I don't know what's needed for Macs desktop apps.

SimonKravis
  • 553
  • 1
  • 3
  • 24

2 Answers2

5

Before worrying about making installers, you first have to decide on an environment for your application to run in. For this you have a few options:

The most common option is to use Mono, which is an open source, OSX and Linux compatible implementation of .Net Framework.

Recently a new option came up, .Net Core which is a "development platform" created by Microsoft. It is also open source, compatible with Windows, OSX, and Linux, and includes several features which you can read about here. However, there are a few things to consider. The .Net Standard which .Net Core is based on is not feature-complete. That is to say, it lacks certain features that are available in the Windows-only .Net Framework. Also, while quite promising, .Net Core is by no means a mature platform.

Finally, it is worth mentioning that Unity is compatible with OSX out of the box.

Now, as for deployment, I'm afraid that C# you'll never be able to match Swift's level of integration. However, using one of the frameworks I have mentioned you can get quite close.

There are a few proprietary tools that specialize in cross-platform deployment, such as BitRock InstallBuilder or InstallAnywhere, however these aren't free, nor can I vouch for their effectiveness. I am only mentioning them for completeness' sake.

Your best bet, and the option I recommend, would be to use Monoobjc, which is a set of tools for interacting with Objective-C libraries through C#. Note that if you go with Mono you'll need to bundle it with your application. Additionally, MonoMac used to be a viable option. However, it is currently on ice. You can read about it in this answer by user ruffin.

Finally, Xamarin supports creating standalone packages for your applications, however, it is also proprietary.

stelioslogothetis
  • 9,371
  • 3
  • 28
  • 53
  • MonoMac is officially obsolete, and replaced by Xamarin.Mac, whose SDK is in fact open source. – Lex Li Jun 25 '17 at 13:44
0

I believe what you are looking for is Mono.

Atanu Roy
  • 1,384
  • 2
  • 17
  • 29
  • 1
    I believe OP asked about bundling their application into a `.app`, not how to run C# applications on mac in general. – Thsise Faek Jun 25 '17 at 08:53