Jump to content
  • Advertisement
Sign in to follow this  
DvDmanDT

Installer for Linux?

This topic is 1502 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi everyone,

 

I have an application that we've sold for Windows for years, but we are just now launching a Linux version. It's a graphical .NET/mono application. We've released to partners/testers as a plain .zip containing just our application files. This means the users have had to run "mono <ourapp>.exe" in order to start it. This seems suboptimal.

 

What is the best way to release a closed source commercial app for Linux? What about adding entries to their application launcher of choice (ie kickstart menu on KDE or whatever)?

 

Share this post


Link to post
Share on other sites
Advertisement

there are some different package managers out there that are used in various distributions.

So you should support these package managers.

 

debian/ubuntu

redhat

suse

 

are the one I know in a hurry.

Share this post


Link to post
Share on other sites

As mentioned above, there are a few different package manager in use. You should at least support .deb, .rpm to target the most widely used distros (i.e. Ubuntu and Fedora). You can also provides packages for archlinux based distributions through the AUR.

 

For debian packages, I recommend using a PPA. There might be an equivalent service for building and distributing rpm but I personally don't know any (I am an arch linux user)

 

 

What about adding entries to their application launcher of choice (ie kickstart menu on KDE or whatever)?

 

You do that with desktop entries: http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html. This will work regardless of the desktop environment.

Share this post


Link to post
Share on other sites

While I have not created installers with it, as a user I'm always happy to install software that's using http://nixstaller.sourceforge.net/.  Works on every distro and can even create native packages for most of them so it plays well with the native package manager!  Also handles dependencies in a slick way, only installing them if needed and putting them into their own directory to avoid conflicts on the host OS.

 

IMO it's very slick.  Hopefully it's easy to use too smile.png

Edited by xenobrain

Share this post


Link to post
Share on other sites

I'm preeety sure you can just get away with putting your stuff in /usr/share and /usr/bin. Then make a .desktop file so the application appears in the menu. It should work on most distros out there. Provide the regular .zip if the installer doesn't works on the user's *nix flavour.

Share this post


Link to post
Share on other sites


I'm preeety sure you can just get away with putting your stuff in /usr/share and /usr/bin.

I would hunt you down and kill you if you did that. The contents of /usr are exclusively the province of my package manager, and if you go mucking around in there, you will break something.

 

Realistically, your two options are to either (a) integrate properly with my package manager, or (b) provide your software as a stand-alone zip/tar archive with no system dependencies.

Share this post


Link to post
Share on other sites


I would hunt you down and kill you if you did that. The contents of /usr are exclusively the province of my package manager, and if you go mucking around in there, you will break something.
Lets reach a compromise here, /opt ?

Share this post


Link to post
Share on other sites

I don't suppose there's by any chance some tool to create native packages from Windows/cygwin? That would have made my life soooooo much easier.

 

Installing into /opt currently seems like a rather reasonable approach since we currently need all files in the same directory. nixstaller seems pretty nice, but it bothers me somewhat that it hasn't really been updated since 2009. It also borders on the issue Bregma brought up, seems a bit like the Windows way of doing stuff.

 

I should probably mention that it's a development tool for rather advanced users, so it doesn't have to be super fool-proof.

Share this post


Link to post
Share on other sites

Installing into /opt currently seems like a rather reasonable approach since we currently need all files in the same directory. nixstaller seems pretty nice, but it bothers me somewhat that it hasn't really been updated since 2009. It also borders on the issue Bregma brought up, seems a bit like the Windows way of doing stuff.

It is the Windows way of doing stuff, but most people won't care.  The purists will, but they'll either reject your product because it's not Free or they'll be really vehemently vocal in forums on the internet but can be safely ignored.  The rest just want to install and use your software and don't care about such issues.

 

The real danger/disadvantage to having a complete bundle is (1) you will have to take care of your own security updates -- only really an issue if you have networked functionality or protect user assets in some way, and (b) if you have any external dependencies at all (eg. C or other language runtimes) your product could break on the next system upgrade.  Unlike Windows, most Linux distros upgrade on a regular basis.

 

It really sounds like the single bundle is your best option.  It does work well for Steam, although they have their own installer and automated update mechanism to alleviate the problems I outlined above.  Have you considered going through Steam?

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!