Impressum
Client-Installer

4.5. Software-Pakete

Die automatische Installation von Software auf Windows Rechnern ist, neben der Installation von Windows Rechnern, eine der Hauptfunktionen des Client-Installers. Zu diesem Zweck kann man über die Oberfläche neue Installations-Skripte erstellen, um diese dann den entsprechenden Rechner-Profilen zuzuweisen und damit auf den Windows Rechnern installieren zu können.

Hinweis: Das Erstellen von neuen, eigenen Software-Paketen setzt einiges Grundwissen in Umgang mit sog. "Silent Installern" bzw. der sog. "Unattended Installation" und der Windows Kommandozeile voraus.

Achtung: Die vom Client-Installer ausgeführten Befehle werden auf dem Rechner als SYSTEM-Benutzer ausgeführt und haben damit vollen Zugriff auf alle Einstellungen und Dateien. Ein falscher oder unsachgemäß verwendeter Befehl kann das System beschädigen oder unbrauchbar machen.

4.5.1. Liste der Software-Pakete

Die Liste der Software-Pakete zeigt einen Überblick, welche Software für die Installation mit dem Client-Installer zur Verfügung steht. Weitere Software-Pakete können jederzeit bei uns bestellt oder selber geschrieben werden.

Das obige Bild zeigt ein paar ausgewählte Software-Pakete mit den verschiedenen Icons, die jeweils eine bestimmte Eigenschaft des entsprechenden Pakets darstellen.

Es wird generell zwischen normalen () und schreibgeschützten Paketen () unterschieden. Schreibgeschützte Pakete sind die, die keine Auswahlbox vor dem Namen und in der Spalte "Hersteller" den Text "Jens Geile" bzw. "IServ" stehen haben. Diese Pakete können nicht verändert oder gelöscht werden. Ausnahmen bilden hier nur die Pakete, die nach dem Namen noch das Icon besitzen. Zwar können auch diese Pakete nicht verändert oder gelöscht werden, man kann ihnen aber eine Seriennummer zuweisen, die für die Installation benötigt wird. Damit man leichter erkennen kann, dass diese Pakete ebenfalls angeklickt werden können, besitzen auch sie das normale Icon anstelle des ausgegrauten.
Das Icon zeigt nur an, dass für die Installation und Benutzung dieser Software eine Lizenz vom entsprechenden Software-Hersteller benötigt wird.

4.5.2. Software-Pakete erstellen oder bearbeiten

Um ein neues Software-Paket zu erstellen, klickt man einfach in der ersten Zeile auf den Link "Hinzufügen", woraufhin sich der Paket-Editor mit den Eingabefeldern für die Kopfzeile öffnet.

Möchte man hingegen ein bestehendes oder gerade erstelltes Software-Paket bearbeiten, so klickt man in der Liste auf den Namen des Pakets.

4.5.2.1. Die Kopfzeile

Die Kopfzeile der Software-Pakete enthält hauptsächlich Informationen, die für die Software-Installation wichtig sind, aber auch andere Dinge, z.B. ob für die Software eine Lizenz benötigt wird oder aber einen Kommentar.

Die einzelnen Felder und ihre Bedeutung im Überblick:

ID: Die ID dient dazu die Software-Pakete eindeutig zu identifizieren. Die ID darf nur aus Buchstaben, Zahlen und den Zeichen - (Bindestrich), _ (Unterstrich) und . (Punkt) bestehen, wobei die ID immer mit einer Zahl oder einem Buchstaben beginnen muss. Die ID kann später nicht mehr geändert werden.

Name: Der Name dient einzig und allein der Anzeige in der Oberfläche, da die IDs schnell sehr kryptisch und unleserlich werden. Als Name wird in der Regel der komplette Name der Software benutzt.

Revision: Die Revision ist sozusagen die Version des Software-Pakets. Sie wird entweder als ganze Zahl (3001) oder als Versionsnummer durch Punkte getrennt (3.0.0.1) angegeben. Erhöht man die Revision eines Pakets und ist dieses Paket bereits auf einem Rechner installiert, so erkennt der Client-Installer dies und führt die entsprechenden Befehle zum Updaten der Software aus. Mehr dazu unter 4.5.2.7. Liste der Befehle.

Priorität: Die Priorität wird als ganze Zahl angegeben und gibt an in welcher Reihenfolge die Software-Pakete installiert werden. Je größer die Priorität, desto eher wird das Paket installiert.

Neustart: Stellt man diesen Punkt auf "Ja", so würde der Client-Installer den Rechner nach der Installation dieses Software-Pakets automatisch neu starten. Dies kann bei einiger Software nötig sein, die Änderungen tief im System vornehmen. Service Packs, Windows Updates und ähnliche Software sollten diese Funktion auf jeden Fall benutzen.

Benachrichtigung: Dieser Punkt kann im Regelfall ignoriert und auf der Standardeinstellung "Nein" belassen werden. Er dient dazu, die Benutzer über die Installation von Software-Paketen zu informieren. Dieses Feature ist jedoch in den Standardeinstellungen des Client-Installers deaktiviert, da es nicht benötigt wird und den Betrieb der Rechner eher stört.

Ausführung: Es stehen drei Ausführungsarten zur Verfügung:

  • Standardverhalten: Bei jedem Start des Rechners wird überprüft, ob das Software-Paket bereits installiert ist, oder nicht. Ist das Paket nicht installiert, wird es installiert. Hat sich die Revision geändert, wird es geupdatet und wurde das Paket aus dem entsprechenden Rechner-Profil entfernt, so wird es vom Rechner entfernt.
  • Nur einmal ausführen: Das Software-Paket wird genau ein einziges Mal installiert. Ändert sich jedoch die Revision, so wird auch dieses Paket aktualisiert.
  • Immer ausführen: Das Software-Paket wird bei jedem Start installiert.

Lizenz benötigt: Dieses Feld dient ausschließlich dazu, um einzelne Pakete zu markieren, die eine Lizenz benötigen, also nicht kostenlos sind.

Seriennummer benötigt: Ist ein Paket als "benötigt Seriennummer" markiert, so kann man diesem Paket entweder direkt eine globale Seriennummer oder aber über die einzelnen Rechner-Profile eine Seriennummer zuweisen. Mehr dazu unter 4.3.8. Profile - Software-Zuweisungen bearbeiten und unter 4.5.2.3. Liste der Umgebungsvariablen.

Seriennummer: Die in diesem Auswahlmenü aufgelisteten Seriennummern können diesem Software-Paket zugewiesen und in den Befehlen über die Umgebungsvariablen benutzt werden. Alternativ kann man hier auch eine neue Seriennummer manuell eintragen, die nicht in der Seriennummerndatenbank steht.

Gültig für: Dieses Auswahlmenü bietet drei Optionen: "Windows 2000 & XP", "Windows 2000" und "Windows XP". Je nach ausgewähltem Eintrag kann das Software-Paket später nur Rechner-Profilen zugeordnet werden, denen dasselbe Betriebssystem zugeordnet ist.

Kommentar: Der Kommentar hat keine Auswirkung auf die Softwareinstallation und dient nur dazu, um ggf. wichtige Informationen zu einem Software-Paket zu speichern.

Hat man alle Informationen eingetragen, bestätigt man das Fenster mit einem Klick auf eine der "OK" Schaltflächen. Nachdem sich das Fenster geschlossen hat, kann man nun in der Liste auf den Namen des gerade erstellen Software-Pakets klicken, um den Paket-Editor erneut aufzurufen und die restlichen Einstellungen wie Abhängigkeiten, Kontrollen und Befehle zu konfigurieren.

4.5.2.2. Liste der Rechner-Profile

Die Liste der Rechner-Profile zeigt, zu welchen Rechner-Profilen das ausgewählte Software-Paket hinzugefügt wurde. Die Liste kann nur über den Profil-Editor, nicht aber über den Paket-Editor verändert werden. Solange hier Rechner-Profile aufgeführt sind, kann das Software-Paket nicht gelöscht werden. Mehr dazu unter 4.5.5. Software-Pakete löschen.

4.5.2.3. Liste der Umgebungsvariablen

Genau wie die 5.4. Windows Umgebungsvariablen, können die hier aufgelisteten Umgebungsvariablen in den Installations-Befehlen benutzt werden, um gewisse Informationen zur besseren Übersicht aus den Befehlen auszulagern bzw. Software-Pakete dynamisch zu schreiben, so dass sie problemlos von einem Server auf einen anderen übertragen werden können.

Die an dieser Stelle definierten Umgebungsvariablen setzen sich aus drei Teilen zusammen: "ci_", die ID des Pakets und des Variablennamens. Für jedes Paket gibt es eine Umgebungsvariable, die die dem Paket zugewiesene Seriennummer enthält. Diese Umgebungsvariable setzt sich im Gegensatz zu allen anderen nur aus "ci_" und der Paket-ID zusammen und kann nicht gelöscht werden.

Über den Link "Hinzufügen" lassen sich ganz einfach neue Umgebungsvariablen hinzufügen. Um die Variablen selbst wiederum möglichst dynamisch zu gestalten, ist es hier möglich, als Wert einige globale Variablen direkt aus der Server-Konfiguration auszulesen.

Mit einem Klick auf "OK" wird die Umgebungsvariable zu dem Software-Paket hinzugefügt und kann ab sofort in den Installations-Befehlen verwendet werden.

4.5.2.4. Liste der Abhängigkeiten

Abhängigkeiten sind, wie der Name es schon sagt, dazu da anzugeben, dass ein Paket von einem anderen abhängt. Ein Paket, das von einem anderen abhängt, wird so lange nicht installiert, bis alle Abhängigkeiten installiert wurden. Der Client-Installer installiert deshalb alle Abhängigkeiten eines Paketes automatisch, auch wenn sie nicht direkt dem Rechner-Profil zugeordnet wurden.

Um eine Abhängigkeit hinzuzufügen, wählt man einfach das entsprechende Software-Paket aus dem Auswahlmenü aus und klickt auf "Hinzufügen".

4.5.2.5. Liste der Downloads

Mit Hilfe der Downloads können die Setup-Programme halb-automatisch direkt aus dem Internet heruntergeladen werden und müssen nicht manuell auf dem Server hinterlegt werden. Um alle Programme herunterzuladen, muss als root auf dem Server das Programm dwnci -r ausgeführt werden. Mehr dazu unter 5.1. Konsolenbefehle.

Über den Link "Hinzufügen" können neue Downloads hinzugefügt werden.

Um einen neuen Download hinzuzufügen, werden zwingend eine Quelle und ein Ziel benötigt. Die Felder MD5-Prüfsumme und Entpacken sind optional. Die Bedeutung der einzelnen Felder wird im Folgenden genauer erläutert:

  • Quelle: Die Quelle ist die direkte Download-URL zur Setup-Datei des Programms.
  • Ziel: Das Ziel ist der Dateiname, wie die heruntergeladene Datei am Ende heißen soll. Hier sollten keine Unterverzeichnisse oder absolute Pfade angegeben werden.
  • MD5-Prüfsumme: Die MD5-Prüfsumme dient der Überprüfung der heruntergeladenen Datei. Stimmt die hier angegebene Prüfsumme nicht mit der der heruntergeladenen Datei überein, wird der Download als fehlerhaft erkannt und die Datei automatisch wieder gelöscht.
  • Entpacken: Handelt es sich bei der heruntergeladenen Datei um eine ZIP- oder RAR-Datei, kann man diese Option auf "Ja" setzen, wodurch die Datei automatisch in einen Unterordner mit dem gleichen Namen wie die gepackte Datei entpackt wird.

4.5.2.6. Liste der Kontrollen

Die Kontrollen werden benutzt um festzustellen, ob eine Software bereits auf einem Rechner installiert ist oder nicht. Damit eine Software als installiert erkannt wird, müssen alle hier aufgelisteten Kontrollen erfüllt werden. Trifft nur eine Kontrolle nicht zu, gilt die Software als nicht installiert. Außerdem können hier keine regulären Ausdrücke und Wildcards benutzt werden und es muss ggf. auf Groß- und Kleinschreibung geachtet werden.

Es wird grundsätzlich zwischen drei verschiedenen Kontrolltypen unterschieden: Datei, Registrierung und Deinstallation. Jede dieser Typen hat wiederum eigene Untertypen, mit denen man verschiedene Dinge überprüfen kann.

  • Datei - Mit Hilfe dieser Kontrollen können verschiedene Dinge im Dateisystem des Rechners überprüft werden.
    • existiert - Es wird überprüft, ob die in Pfad angegebene Datei existiert. Das Feld Wert kann ignoriert werden.
    • Größe ist gleich - Die Größe der in Pfad angegebenen Datei wird mit der in Wert angegebenen Größe verglichen.
    • Version ist kleiner als - Die Version der in Pfad angegebenen Datei wird mit der in Wert angegebenen Version verglichen. Die Version einer Datei steht in den Eigenschaften einer Datei im Reiter "Version".
    • Version ist kleiner oder gleich - s.o.
    • Version ist gleich - s.o.
    • Version ist größer oder gleich - s.o.
    • Version ist größer als - s.o.
  • Registrierung - Über diese Kontrollen können Schlüssel oder Werte direkt aus der Registry eines Rechners ausgewertet werden.
    • existiert - Es wird überprüft, ob der in Pfad angegebene Schlüssel bzw. der Pfad zu einer Variablen existiert.
    • ist gleich - Geprüft wird, ob der angegebene Wert mit dem Wert der unter Pfad angegebenen Variable übereinstimmt.
  • Deinstallation - Dies ist der einfachste und am meisten genutzte Kontroll-Typ. Zur Überprüfung wird die Softwareliste unter Systemsteuerung -> Software genutzt.
    • ist gleich - Überprüft wird, ob der hier angegebene String unter Systemsteuerung -> Software aufgeführt war. Hierbei muss zwingend auf die Groß- und Kleinschreibung geachtet werden. Leider kann es passieren, dass Einträge gefunden werden, die unter Systemsteuerung -> Software nicht aufgeführt werden. Dies liegt meistens an kaputten (De-)Installationsprogrammen. In Wirklichkeit sind diese Kontrollen vom Typ "Registrierung", denn sie überprüfen, ob der in Pfad angegebene Wert unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall zu finden ist.

4.5.2.7. Liste der Befehle

Bei den Befehlen wird zwischen drei verschiedenen Typen unterschieden: Installation, Update und Deinstallation. Alle Befehle einer Gruppe werden in der angezeigten Reihenfolge ausgeführt.

Die Installations-Befehle dienen zur Installation der Pakete und werden ausgeführt, wenn das Paket auf dem Rechner noch nicht installiert ist.

Über die Update-Befehle wird eine Software geupdatet, die bereits mit dem Client-Installer auf einem Rechner installiert wurde. Abhängig von dem verwendeten Installer können die Update-Befehle und die Installations-Befehle identisch sein.

Mit Hilfe der Deinstallations-Befehle kann eine Software, die mit dem Client-Installer auf einem Rechner installiert wurde, wieder deinstalliert werden.

Um die Befehle für verschiedene Windows-Versionen und Sprachen kompatibel zu halten, ist es hier möglich die 5.4. Windows Umgebungsvariablen zu benutzen. Auch die oben definierten Umgebungsvariablen können hier verwendet werden, um beispielsweise Seriennummern, den Schulnamen oder andere Werte in den Befehlen nutzen zu können, ohne sie jedes Mal wieder eingeben zu müssen.

Da alle gängigen Installer verschiedene sogenannte Exitcodes zurückgeben, abhängig davon, ob die Installation erfolgreich oder nicht erfolgreich war, gibt es die Möglichkeit eben diese Exitcodes auszuwerten und in Abhängigkeit dieser einen Neustart auszuführen, oder nicht. Im Normalfall bedeutet der Exitcode "0", dass die Installation erfolgreich war und alle anderen Exitcodes, dass etwas schiefgelaufen ist. Es gibt allerdings einige Installer, die bei erfolgreicher Installation andere Exitcodes als "0" zurückgeben. Sollten also keine zusätzlichen Exitcodes ausgewertet werden müssen, so braucht man hier auch keinerlei Exitcodes eingeben.

Die Felder Neustart Exitcodes und Kein Neustart Exitcodes bestimmen, bei welchen Exitcodes der Rechner automatisch neu gestartet werden soll bzw. nicht. Alle hier angegebenen Exitcodes werden als "erfolgreiche" Ausführung interpretiert. MSI-Pakete geben beispielsweise den Exitcode "3010" zurück, wenn die Installation erfolgreich war, aber ein Neustart erforderlich ist. In diesem Fäll würde man den Exitcode "3010" in das Feld "Neustart Exitcodes" eintragen.

Das Feld Zeitüberschreitung gibt an, wie viele Sekunden gewartet werden soll, bevor die Deployment-Software davon ausgeht, dass der Befehl nicht erfolgreich war und mit dem nächsten Befehl weitermacht. In 99% der Fälle wird dieses Feld nicht benötigt.

Die Befehle jedes Typs werden in der Reihenfolge ausgeführt, wie sie in der Weboberfläche angezeigt werden. Um die Reihenfolge von Befehlen zu verändern, genügt ein einfacher Klick auf die Pfeile () am Ende jeder Befehlszeile. Die Befehle werden dabei jeweils mit dem vorherigen bzw. nachfolgenden Befehl in der Reihenfolge getauscht.

4.5.3. Software-Pakete importieren

Über den Link "Paket-Definitionen importieren" in der ersten Zeile der Paket-Liste gibt es die Möglichkeit, fertige Software-Pakete im XML-Format zu importieren. Hat man beispielsweise mehrere Server zu verwalten, so muss man das Paket nicht auf jedem Server über den Paket-Editor eingeben, sondern kann es auf einem Server exportieren und auf den anderen einfach importieren.

Beim Importieren sollte darauf geachtet werden, dass die eingegebenen XML-Daten wirklich valid sind, da sonst möglicherweise nur ein Teil der Daten importiert werden kann.

4.5.4. Software-Pakete exportieren

Um einzelne oder mehrere Software-Pakete im XML-Format zu exportieren, markiert man in der Paketliste einfach die Auswahlboxen der gewünschten Software-Pakete und klickt am Ende der Liste auf die Schaltfläche "Exportieren". In der ersten Zeile findet sich nun ein Link "Paket-Definitionen herunterladen", über den man nun die XML-Datei herunterladen kann.

Die mit dieser Funktion exportierten Paket-Definitionen können problemlos auf einem anderen IServ wieder importiert werden.

4.5.5. Software-Pakete löschen

Selbstverständlich kann man die eingetragenen Software-Pakete auch wieder löschen, solange sie nicht schreibgeschützt sind. Um ein Paket zu löschen, muss man nur die entsprechende Auswahlbox auswählen, auf die Schaltfläche "Löschen" klicken und den Bestätigungsdialog mit "OK" bestätigen.

Hinweis: Beim Löschen von Software-Paketen muss darauf geachtet werden, dass das zu löschende Paket keinem Rechner-Profil mehr zugeordnet ist. Mehr dazu unter 4.5.2.2. Liste der Rechner-Profile.