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).
Sounds cool, I will look into it and try to get some setups built!
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.
unfortunately this means you cant use plugins etc with you application, which is no good for me.
But even if you only use static libraries you probably still need a setup for a professtional look, dont you?
I usually develop for linux on pc or embedded linux so I prefer to use a simple executable.
I think a "Setup" is better for windows, for my experience.
Yes definately mainly appropriate for desktops, especially as most mobile platforms have their own stores and auto installers now (i think? im not a big mobile developer).
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.
a .deb sounds good, i hadn't actually considered it... And a script to produce the exes sounds like a good idea too...
I haven't looked at NSIS before, ill have a google now!
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.
I use InnoSetup on Windows. It is free even for commercial projects. NSIS doesn't have a wizard, so you have to write the script by hand. On Linux, make a .rpm / .deb package, and on Mac, use a .dmg image.