views:

151

answers:

7

My company is thinking of dumping InstallShield and move to something else, mainly because of the poor experience it had with it, mostly on Linux.

Our product is a C++ application (binaries, shared libraries) targeted at Windows and Linux (Red Hat).

The installer itself isn't required to do anything special, just dump some binaries and shared libraries and sometime execute an external process. Things like version upgrading through the installer isn't necessary, this is handled after the installer finishes.

I thought of suggesting using NSIS on Windows and RPM on Linux.

What are the recommended installer systems to use when deploying to Windows/Linux? Something that is cross platform to prevent maintaining two installers is a definite plus.

+1  A: 

For Windows I would definitively use NSIS. It's very lightweight, easy to code and very simple to understand. Using msis would just be a killer - it generates guid for every file so you can get upgrades for free and stuff but truth being said, you never end up using any of these.

Regarding Linux I would go for RPM and Deb. They're probably the two biggest packaging system so you'll be targeting most of the Linux users. I've never tried RPM but creating a Deb package is fairly straightforward.

ruibm
He can even just focus on either RPM or Deb and use `alien` to convert between the two (although I've only personally tried RPM -> Deb).
ZoogieZork
+1  A: 

There's a tool called BitRock Installer which can create installers for Windows, Linux and OS X.

However, I think that if you target RedHat it would be better to provide native packages for that platform (that is .rpm).

el.pescado
Thanks for the mention, just wanted to point out BitRock Installer can also generate RPMs http://installbuilder.bitrock.com
Daniel Lopez
A: 

Take a look at InstallJammer. It will handle both platforms from the same build project, and you can have the installer register the package with the RPM database as well if that's your requirement.

Damon
+1  A: 

For C++ projects, I'd go with cmake/cpack, if you are also willing to change your build system. Great support, strongly cross-platform. cpack has various generators, NSIS is one..

sly
A: 

For Windows, use Actual Installer

Markus
A: 

You may want to consider our tool BitRock InstallBuilder , it can generate installers for Windows and Linux from a single project file and also RPMs. Is your application based on Qt? Our clients include the makers of Qt, Nokia (previously Trolltech) and they use it to package their Qt Creator product. We encourage to give InstallBuilder a try and contact our support with any questions or suggestions you may have.

Daniel Lopez