[Mono-dev] Minimal required set to Redistribute Mono

David Mitchell dmitchell at logos.com
Wed Mar 23 11:49:48 EDT 2011

We distribute a subset of Mono in our application bundle. We do a lot of
pretty weird stuff (our app is actually a Cocoa/Objective-C application
that calls into managed code for much of its logic), and we had to make a
custom build of Mono to fix a number of blocking bugs that we discovered
along the way. Because of this, we've had to roll our own solution for
distribution, which may or may not be similar to how the standard tools do

We've found that we need the following native libraries:
- mono.*.dylib (or mono-2.*.dylib, if using Mono 2.8+)
- MonoPosixHelper.*.dylib
- gdiplus.*.dylib

For managed dependencies, we have a program that starts by doing a
reflection-only load of our "top-level" assemblies. We then recursively
walk through the referenced assemblies (doing a reflection-only load on
each of them) to generate a full map of the assemblies that might be used
by our app. After we have this list, we walk the GAC and stage any
dependencies we need. We also add any assemblies that start with "I18N."
because while they're not directly referenced by any assemblies, some of
the mono assemblies will load them at runtime.

This sort of static analysis won't catch everything (like the I18N
assemblies, mentioned above), but it works pretty well for us. If you'd
like more details of how our process works, feel free to e-mail me

‹ Dave

On 3/22/11 10:54 PM, "vinay_rk" <vinay.kashyap at ironmountain.com> wrote:

>I' am trying to understand what are the minimal required runtime libraries
>needed if I need to redistribute Mono with my application. We had the
>impression initially that we would have installation of Mono Framework as
>pre-requisit on end computers (mostly Mac). Now it has been decided to go
>with the redistribution option. So is it required to package the complete
>Mono framework installation with our application installer ? I' am
>interested in finding if there is minimal subset of the complete framework
>that are enough to get our App running under mono ?
>View this message in context:
>Sent from the Mono - Dev mailing list archive at Nabble.com.
>Mono-devel-list mailing list
>Mono-devel-list at lists.ximian.com

More information about the Mono-devel-list mailing list