[MonoDevelop] Deployment for desktop applications

Quandary quandary82 at hailmail.net
Mon Oct 25 06:23:40 EDT 2010


  I still wanted to add 3 things:

1. As a commerical solution, you can use InstallAnywhere (.bin files you 
see for example in Google Earth, Sybase, or Oracle Java). I'd not do 
that however, as it doesn't check for dependencies.

2. The installed version of mono on all the different Linux 
distributions and distribution versions is not quite the same. So if you 
for example depend on mono 2.6 (as opposed to 2.4, current Ubuntu Lucid 
Lynx version), you'll basically have to package mono 2.6 as well. This 
happended to me because there's a bug in 2.4 concerning XML and 
XmlTextReader/writer encoding.

3. If you have a RPM file, you can use the Debian-Tool 'alien' to 
convert it into a .deb file automagically (careful).


Am 25.10.2010 00:02, schrieb Michael Hutchinson:
> On Sat, Oct 23, 2010 at 10:26 AM, Derek JW Cahusac de Caux
> <derek at azuregulf.com>  wrote:
>> Hi - I'm new to MD and C# (thoroughly enjoying both) and am now at the stage
>> where I'd like to 'package and ship' simple C# desktop applications to end
>> users (on both Linux and Windows).
>>
>> These tutorials from Visual Studio look fairly good:
>> http://msdn.microsoft.com/en-us/library/k3bb4tfd%28v=VS.100%29.aspx
>> http://www.dreamincode.net/forums/topic/58021-deploying-a-c%23-application-visual-studio-setup-project/
>>
>> Any pointers to the equivalent guides in MD would be most appreciated.
>>
>> I really want to avoid asking end users to extract tarballs, drop down to
>> Terminal and run " sudo ./configure&&  make&&  make install" if at all
>> possible....
> Unfortunately MonoDevelop doesn't have any built-in support for
> packaging. The best it can do is create a zip of binaries, or a
> tarball with build/install scripts. I know, we've wanted packaging
> support for a while
> (http://monodevelop.com/Developers/Tasks/Packaging) but it's difficult
> to implement fully and there hasn't been huge demand.
>
> Linux packaging depends on the distro, unfortunately - the major
> package formats are rpm (openSUSE, SLE*, Redhat, Centos, Fedora, etc)
> and deb (Debian, Ubuntu, etc.), though a few distros use other systems
> (Gentoo etc).
>
> I've only used RPM myself. The way it works is that you write a
> specfile: a description, a list of dependencies, the commands to build
> and install (or simply unzip and cp) the app, and a list of files to
> package up. You then feed it to a tool that builds and installs the
> package into a fake root and collects the installed files and packages
> them up. I think deb is fairly similar. If you're lucky, you might be
> able to make packages that are usable on several distros or versions,
> depending how similar they are.
>
> If your app is open-source, I suggest you investigate the openSUSE
> Build Service which, given source and spec files, can build packages
> for multiple distros automatically. The packages already there will
> provide good examples to base yours on.
>



More information about the Monodevelop-list mailing list