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.

Advertisements

Xcode Programme nachladen


Programme

Es ist wirklich wichtig bei Xcode auch die Programme und Simulatoren hinzuzufügen. Hierzu muss auch über die Einstellungen und Downloads der richtige Bereich geöffnet werden. Dann wird dieser Dialog angezeigt:

Hier sind die Command Line Tools wichtig. Dieses Paket ist ungefähr 136MB groß. Es enthält alles was benötigt wird um aus dem Terminal Programme zu entwickeln. Also im Prinzip das was bei Linux die binutils sind. Natürlich sind diese Tools seit der Umstellung von Xcode zu der App Version nicht mehr so einfach zu erreichen. Die werden nämlich nicht mehr in dem normalen Dateisystem installiert, sondern in der Xcode App. Der Aufruf von zum Beispiel des Programms „make“, „headerdoc2html“ oder „gitk“ mss deswegen aus der App erfolgen. Der richtige Pfad hierfür ist: „/Applications/Xcode.app/Contents/Developer/usr/bin/“. Der Name des Programms das man starten möchte muss man an diesen Pfad hängen.

Die Simulatoren sind wichtig wenn man Programme für ein iOS Gerät entwickeln möchte. Auch hier ist es gut den Haken im oberen Bereich des Dialogs zu setzen. Dadurch bleiben diese zusätzlichen Programme aktuelle.

Dashcode, Quartz Composer und PackageMaker

Es gibt aber noch mehr. Jeder der sich früher in der Prä App Zeit bereits mit Xcode auseinander gesetzt hatte kennt Dashcode und Quartz Composer. Diese beiden Programme sind bei der Umstellung zu der App-Version von Xcode einfach verschwunden. Das ist ärgerlich.

Aber Apple liefert die einfach nicht mehr mit. Die Programme gibt es zum Glück noch. Um diese zu bekommen muss Xcode gestartet sein. In dem Xcode Menü gibt es den Eintrag „Open Developer Tool“. Hier sind die Standard Werkzeug aufgeführt, die bereits installiert sind. Das ist zuerst schon einmal interessant. Wir wollen aber mehr.

Dafür gibt einen Eintrag in diesem Menü. Es ist der Eintrag „More Developer Tools…“, der als letztes in diesem Menü aufgeführt ist. Wenn wir diesen auswählen gehen wir direkt weiter in Web zu Apple. Man muss als Entwickler registriert sein um hier etwas zu erreichen. Dazu muss man sich einfach bei diesem Dialog mit seiner Apple-ID anmelden

Nach der erfolgreichen Registrierung werden jetzt alle möglichen Downloads angezeigt. Das geht über das komplette Xcode, die vorher beschriebenen „Command Line Tools“ bis zu unseren fehlenden Programmen. Zusätzlich können wir jetzt den vorher nie vorhandenen PackageMaker herunterladen und installieren.

Es gibt drei sehr interessante Pakete:

  • Dashcode für Xcode
  • Auxiliary Tools für Xcode – Enthält den PackageMaker
  • Graphic Tools für Xcode – Enthält den Quartz Composer

So und jetzt viel Spaß mit dem erweitertem Xcode.