Setup executable creators
-
What does everyone else use? Is there a free, multi-platform setup generator that works well with Qt?
This is something I couldn't find when trying to package recent projects, I ended up just zipping the contents as it was easier. But there is something about a setup file that installs all the libraries and things that looks more professional...
-
I've used BitRock InstallBuilder, but it is free only for open source projects. If it is ok for you, than this tool will help you a lot. It creates Qt-based installers for bunch of platforms with a lot of options and available hooks for different actions. For example you can look at Qt Creator installer (maybe it is made with another tool, but it looks really similar to InstallBuilder output).
-
For my projects I use statically linked library so I only need to give the executable.
This is useful for me also because I always use the last stable qt library.
With shared library you must provide the library every time you upgrade QT in your pc... I don't like so. -
On windows I use NSIS for Linux mostly provide a .deb and on Mac OS X a .dmg with the executable.
Not yet seen an one for all solution that suited me. Anyway I have to compile for each platform so I created for each a script that grabs the latest stable build and packages it in a installer.
-
Indeed, a .dmg is the "proper" approach for Mac OS X. ;)
-
A setup utility is definitely not the proper way to go about it on Linux either. You should create distribution packages for your application. There are multiple advantages to doing this:
- Don't have to statically link or include shared libraries in your package
- Users can easily install your application much easier
- Your application will be installed in the correct sys location, rather then ~/ or /opt
Making packages for each and every Linux distro (or even just the popular ones) can be time consuming.
"Opensuse's build service":http://wiki.opensuse.org/openSUSE:Build_Service_supported_build_targets provides a pretty slick way to create packages automatically. You put in about the same amount of effort to create one distro package, but you'll end up with packages for all the popular distros.
Another thing you can do is enlist the help of the distro's packagers, usually by filing a bug report requesting your software to be packaged.