I’m looking into using the Mono framework for taking my current C# application cross-platform (targeting the Mac for starters).
While I’ve read that it is possible to bundle the necessary pieces of the Mono framework with your application (thus avoiding forcing your users to install it). Unfortunately, in practice I’ve found this to be excruciatingly difficult, and have never actually been able to accomplish it. There is a related question here, but it has no usable answers.
Is it bad practice to require users to install this framework? Installing it would greatly reduce the actual application’s package size, and it would be reusable for all applications that require it.
Much of it depends upon who your target audience is. Developers may not mind, but the average user will. Additionally, bundling Mono in your application insulates you from regressions in newer versions of the framework, which are pretty common, in my experience.
As part of the MonoMac project, Miguel de Icaza and others are working on a painless way of embedding Mono in an application bundle.