Installer mit Qt Installer Framework


Was ist wenn man bestrebt ist Software für verschiedene Plattformen zu entwickeln ? Für die Entwicklung ist  das Qt-Framwork einen gute Wahl. Mit diesem Framework lassen sich Programme für die Plattformen Windows, Linux und selbstverständlich auch für OS X entwickeln. Das ist eine gute Lösung. Was ist aber mit dem Installationsprogramm ?

Aufwändige Lösungen

Wir können es natürlich perfekt machen. Jeder der oben genannten Plattformen stellt einen eigenen nativen Installer zur Verfügung. Für Windows ist es der Microsoft Installer, Nullsoft Installer und Inno Setup. Für Linux ist je nach Dialekt entweder ein Debian oder ein RPM Paket. Diese Lösungen sind selbstverständlich die besten für die jeweiligen System. Das liegt daran weil diese Programme oder Pakete speziell für diese Plattformen entwickelt wurden. Aus diesem Grund sind die auch am besten in die Systeme integriert.

Der Aufwand wird dadurch sowohl beim Lernen, wie auch bei der Paket Entwicklung riesig. Die Unterschiede zwischen diesen Systemen ist doch sehr groß. Obwohl OpenSuSE, Ubuntu und OS X irgendwie zu einer Familie gehören.

Die Qt Lösung

Es gibt aber zum Glück eine einfachere Lösung. Von dem Qt Projekt wird ein Installer Framework angeboten. Diese Framework wird und kann genau wie das Qt Framework für die wichtigsten Systeme verwendet werden. Wir, als Entwickler, können mit diesem Framework leicht Setup-Programme zur Verfügung stellen. Es muss nicht viel über die verschiedenen Systeme gelernt werden. Voraussetzung ist eine bestimmte Verzeichnis-Struktur und zwei Konfigurations-Dateien.

QtIFW_Directory_Layout
Verzeichnis Struktur für Qt Installer Framework

Das oben gezeigte Projekt ist ein Offline Projekt. Bei Offline Projekten sind alle Dateien in dem Installationspaket. Das Framework stellt auch die Möglichkeit für Online Pakete zur Verfügung. Bei Online Paketen müssen nur relativ kleine Setup’s zur Verfügung gestellt werden. Die eigentlichen Programme und Daten werden bei der Installation heruntergeladen. Noch eine Anmerkung zu der Größe des Installationspakets. Die mit dem Qt Installer Framework erzeugten Pakete sind recht groß. Aber Platz ist heute kein Problem mehr. Außerdem macht die Möglichkeit Online Installer zur Verfügung zu stellen das Größenproblem Wett.

Mit der Befehlszeile:
"~/Qt/QtIFW-1.3.0/bin/binarycreator --offline-only -c config/config.xml -p packages Setup"
lässt sich das Paket auf dem Mac erzeugen. Voraussetzung ist das QtIFW Paket in der Version 1.3.0 wurde mit den Standardeinstellungen installiert.

Bei dem Test der Installation wird aber schreckliches passieren. Der Installer stürzt ab. Hier wurde vom Hersteller etwas vergessen. In dem Installer muss eine NIB-Datei sein. Diese wird leider bei der Erzeugung  des Pakets nicht in dieses integriert.

Aber das ist kein Problem mit dieser Befehlszeile ist das leicht nachzuholen:
cp -R ~/Qt/QtIFW-1.3.0/Uninstaller.app/Contents/Resources/qt_menu.nib Setup.app/Contents/Resources

Viel Spaß mit dem Qt Installer Framework.