Automatische Softwareverteilung

Seit mehr als zehn Jahren besteht der Hauptteil meiner Tätigkeiten in der automatischen Verteilung von Software. Es begann mit Windows 95 und einer firmeninternen Anwendung für die Ausführung der Verteilingsscripte. Mit der Umstellung auf Windows 2000 wurden die Installationspakete auf msi-Scripte umgestellt. Dazu wurden alle nicht msi-Installation repaketiert. Natürlich gab es Sonderfälle, die sich nicht, jedenfalls nicht mit vernünftigem Aufwand, repaketieren ließen, aber auch die wurden natürlich integriert. Keine Regel ohne Ausnahmen. ;-)

Repacketieren / Scripten

Dies ist das Erstellen von msi-Paketen, die eine Installation der Original-Installationsroutine des Produkts nachbilden. In der Windows-Welt haben msi-Pakete den Vorteil, daß die Pakete standardisiert sind. Installation, Reparatur und Deinstallation laufen über Windows Dienste und sind ins Betriebssystem integriert. Diverse Mechanismen zur Konflikterkennung bei gleichnamigen Dateien, Versionskontrollen, Referenzzählungen von Komponenten, alles dies ist im MS-Installer integriert und verbessert die Qualität der Installationen. Des weiteren unterstützen viele Software-Verteilungssysteme die speziellen Optionen von msi und lassen daher eine recht feine Anpassung der Installation an die Kundenwünsche zu.

Anpassen von Installationsscripten

Im allgemeinen Fall muß jedes Installatiospaket an die Kundensituation angepaßt werden. Bei repaketierten Installationspaketen können diese Kundenwünsche direkt ins Paket integriert werden. Die msi-Technologie berücksichtigt auch das und läßt die nachträgliche Anpassung von Installationspaketen z.B. durch sog. Transforms zu. Damit kann jede msi-Installationsroutine in sehr weiten Grenzen an die Kundenwünsche angepaßt werden.

Software Verteilung

Ich habe lange Zeut mit dem Netware Applicaton Launcher des Zenworks-Paketes von Novell gearbeitet. Ich betreute die Paketvewaltung im NAL und erstellte dazu auch die meisten der repaketierten msi-Installationen. Über die Zeit gehörten dazu dann auch Aufgaben die bei einem ersten Rollout von Software gerne übersehen werden, nämlich Aktualisieren von Paketen (hier z.B das Entfernen der Vorgängerversionen), Reparatur von bestehenden Installationen (im täglichen Betrieb geht immer mal wieder eine Installation kaputt). Aufgrund der Vielzahl der Pakete ist das Einhalten der msi-Scripting Richtlinien von entscheidender Bedeutung für die Stabilität des Systems.

Der Netware Application Launcher wurde dann durch eine globale unternehmensinterne Entscheidung durch ein anderes Produkt, nämlich Altiris, abgelöst. Der sich daraus ergebende Paradigmenwechsel der User bezogenen Software Verteilung auf eine Workstation basierende bedurfte einiger Gewöhnung - zugegeben. Auch vermißte man den Komfort, aber mit ein paar Scripten konnte vieles davon auch unter Altiris wieder implementiert werden. (Um Altris nicht übermäßig schlecht zu machen: Es gibt dort bestimmt aktuellere Versionen und Zusatzprodukte. Allerdings standen die uns nicht zur Verfügung, da wir mit einer eingeschränkten und globalen Version arbeiten mußten.)

Die Migration von ca. 200 Altanwendungen in diversen Installationstechnologien mit diversen Querabhängigkeiten der Pakete untereinander habe ich 2009 erfolgreich durchführen und auch abschließen können.

Verwendete Werkzeuge

  • Wise Package Studio Professional
    Ein meiner Meinung nach rundum gelungenes Paket für das Erstellen und bearbeiten von msi-Paketen.
  • Orca
    Zwar ein recht unkompfortables Werkzeug, aber für einige Problemfälle unverzichtbar. Die Validierung von msi-Scripten ist mit diesem Tool recht ausführlich und einfach zu machen.
  • Installshield
    Nicht mein persönlicher Favorit, denn dieses Produkt verwendet sehr viel eigene Komponenten, die in die msi-Pakete eingebettet werden. Die Wizards sind wohl Gewöhnungssache.

Natürlich reicht das nicht, sondern für die Fehleranalyse und für Hilfsprogramme wurden Tools quer durch die Bank werden verwendet: Insbesondere sind natürlich die Tools von SysInternals sind eine große Hilfe. Dazu kommen selbstgeschriebene Programme in vbs, C#, DOS-Batch, WiseScript oder was immer notwendig ist.