Installer für Administratoren
Artikel erschienen in Swiss IT Magazine 2003/19
Microsoft hat mit Windows 2000 eine eigene Installer-Technologie in das Betriebssystem integriert. Der Microsoft Windows Installer verwendet die sogenannten MSI-Dateien (Microsoft Installer), in denen definiert ist, welche Installationsoptionen es gibt und in welcher Form die Anwendung aufgesetzt werden soll. Die Programm-Dateien können dabei in die MSI-Datei eingebunden sein; häufig werden sie aber auch separat geliefert, typischerweise als CAB-Dateien (Cabinets).
Wenn man eine MSI-Datei installiert, wird ein Setup-Programm ausgeführt, das verschiedene Installationsoptionen anbietet. Dies ist für die Einrichtung von Anwendungen auf einzelnen Arbeitsplätzen auch adäquat. Wenn man aber eine standardisierte, weitgehend automatisierte Installation durchführen oder einzelne Parameter zwingend anpassen möchte, muss man die Installationsprozedur modifizieren. Dazu sind im Konzept des Windows Installer sogenannte MST-Dateien (Microsoft Transformations) vorgesehen. Diese Dateien beschreiben Änderungen an den MSI-Dateien und können beim Aufruf der Installation als Parameter angegeben werden.
Theoretisch lassen sich die MST-Dateien manuell erstellen. Das ist aber einerseits komplex und scheitert andererseits fast immer daran, dass es keine ausreichende Dokumentation der Parameter gibt, die für eine bestimmte MSI-Datei gesetzt werden können.
Wenn solche Anpassungen überhaupt dokumentiert sind, benötigt man doch fast immer spezialisierte Werkzeuge, um Änderungen auszuführen:
Mit den Windows-Betriebssystemen wird der Setup-Manager geliefert, mit dem sich Antwort-Dateien für die unbeaufsichtigte Installation erstellen lassen. Dabei wird allerdings nicht mit MSI- und MST-Dateien gearbeitet, obwohl dies für die neuen Windows-Versionen durchaus auch möglich wäre.
Die Installation von Microsoft Office kann mit Hilfe des CIW (Custom Installation Wizard) ab Office 97 und Office 2000 angepasst werden. Dieses Werkzeug erzeugt MST-Dateien.
Mit Lotus Notes 6 wird der InstallShield Tuner geliefert, der ebenfalls MST-Dateien erstellt.
Mit diesen mitgelieferten Tools lässt sich die Installationsprozedur für einige der wichtigsten Standard-Anwendungen also modifizieren - bei den meisten Anwendungen fehlen aber entsprechende Werkzeuge.
Hier kommen nun die verschiedenen Installer ins Spiel - Programme, mit denen Installationsprogramme erzeugt werden können. Diese sind nämlich nicht nur in der Lage, vollständige Installationsprogramme und damit beispielsweise MSI-Dateien zu erstellen; die meisten davon können auch MST-Dateien erzeugen und damit die Installationsprozeduren anpassen. Viele der Produkte sind aber nicht nur Installer, sondern weit komplexere Lösungen.
So sind beispielsweise sowohl OnDemand WinInstall 6.5 als auch NetInstall 5.70 in erster Linie Lösungen für die Softwareverteilung, mit denen quasi nebenbei auch MSI- und MST-Dateien erstellt werden können - wobei es von WinInstall auch den WinInstall MSI Packager gibt, der sich rein auf den Umgang mit MSI- und MST-Dateien beschränkt. Auch Produkte wie der Wise for Windows Installer 5.0 oder das InstallShield DevStudio 9.0 bieten viel umfassendere Funktionen, als von Administratoren im Normalfall für die Erstellung einfacher MSI-Dateien oder die Anpassung vorhandener MSI-Dateien über MST-Dateien benötigt werden.
Microsoft selber empfiehlt übrigens die Nutzung solcher Installer statt der einfachen, kostenlosen Werkzeuge, die mit den Entwicklungs-Tools von Microsoft angeboten werden. Die überflüssige Funktionalität ist der Preis dafür, dass man den Aufwand für das Deployment reduziert, indem man optimierte MSI- und MST-Dateien einsetzt.
Bei der Softwareverteilung wird es in den meisten Fällen nur um die Erstellung von MSTs gehen, da die meisten Anwendungen heute mit einer vollständigen MSI-Datei ausgeliefert werden. Nur wenn eigenentwickelte Software verteilt werden soll, kann es auch mal nötig werden, ein MSI-File zu erstellen. Der Fokus dieses Tests liegt deshalb klar auf der Frage, mit welchem Werkzeug sich MST-Dateien effizient erzeugen lassen.
Neben den getesteten Produkten gibt es noch eine ganze Reihe von Alternativen. So unterstützt beispielsweise auch Prism Deploy die Erstellung von Installationspaketen, verwendet dabei aber ein eigenes Verfahren. Die Bearbeitung von MSI-Dateien wird nur über Partner angeboten, weshalb das Produkt auch nicht in diesen Test einbezogen wurde. Andere Beispiele sind Installer Vise 3.6 von Mindvision Software oder Setup Rose 6.0 von IndigoSoft. Auch mit diesen Produkten lassen sich Softwareinstallationspakete erstellen - aber eben nicht mit dem Fokus auf MSI- und MST-Dateien.
Die volle Unterstützung der Windows-Installer-Technologie ist aber auch keineswegs zwingend. Wenn ein Werkzeug wie Prism Deploy genutzt wird, lässt sich eine effiziente Softwareverteilung auch ohne die Erstellung von MST-Dateien bewerkstelligen, weil die Verfahren des Produkts selbst sehr effizient sind. Andererseits hat Microsoft mit dem Windows Installer einen Standard gesetzt, der von den meisten Herstellern zumindest insoweit unterstützt wird, als sie eben MSI-Dateien mit ihren Produkten ausliefern - und eine Anpassung dieser Dateien ist damit in den meisten Fällen der naheliegende Weg, um Installationsprozesse anzupassen.
MSI-Dateien lassen sich unter anderem über die Gruppenrichtlinien der Server-Versionen von Windows 2000 und Windows 2003 verteilen. Auch der Microsoft Systems Management Server 2003 wird die MSI-Dateien direkt unterstützen, so dass dort keine proprietären Pakete für die Softwareverteilung mehr erstellt werden müssen. MSI-Dateien können aber auch in Verbindung mit Novell ZENworks for Desktops eingesetzt werden, wobei dieses Programm mit der integrierten Snapshot-Technologie auch eine Alternative zur Verwendung von MSIs und MSTs bietet, die eher mit dem Ansatz beispielsweise von Prism Deploy verwandt ist, wo ebenfalls solche Snapshots genutzt werden.
Gerade die Verwendung der Gruppenrichtlinien ist in Umgebungen, in denen das Active Directory genutzt und auf den Clients mindestens Windows 2000 Professional als Betriebssystem eingesetzt wird, ein interessantes Verfahren, weil der Aufwand für die Softwareverteilung relativ gering ist, falls Gruppenrichtlinien ohnehin zum Einsatz kommen. Beim Windows Server 2003 lässt sich zudem über WMI-Filter steuern, auf welchen Systemen die Gruppenrichtlinien angewendet und damit Softwarepakete installiert werden sollen. WMI, die Windows Management Instrumentation, erlaubt Abfragen auf die Hardware- und Softwarekonfiguration. Damit kann beispielsweise der Prozessortyp oder die Menge des installierten Hauptspeichers ermittelt werden.
Im übrigen können die MSI-Dateien auch von fast allen anderen Verfahren für die Softwareverteilung genutzt werden, so dass man durch die Erstellung von MSTs die meist aufwendigere Erzeugung von Snapshots vermeiden kann. Denn für einen Snapshot ist immer eine Differenzinstallation erforderlich, bei der der Zustand eines Systems vor und nach der Installation einer Software miteinander verglichen wird - was vor allem dann aufwendig wird, wenn verschiedene Installationsvarianten benötigt werden, da dann auch mehrere Snapshots erzeugt werden müssen.
MSIs und MSTs sind also nicht das einzige Verfahren - aber ein Werkzeug zur Anpassung von MSI-Dateien über MSTs ist dennoch fast unverzichtbar, wenn man Software automatisiert verteilen möchte, da man damit die Installationsprozesse in Verbindung mit fast jedem Ansatz für die Softwareverteilung optimieren kann. Mit Wise for Windows Installer 5.0, InstallShield DevStudio 9.0, OnDemand WinInstall 7.5 und NetInstall 5.70 wurden vier Produkte ausgewählt, die eine Erstellung von MSTs für bereits vorhandene MSI-Dateien erlauben. Der Blickwinkel des Tests war dabei der eines Administrators und nicht der eines Softwareentwicklers - die einfache Nutzung der Produkte und die auch für Administratoren verständliche, aber dennoch umfassende Darstellung der Inhalte existierender MSI-Dateien waren dabei entscheidende Kriterien.
Eines der klassischen Installer-Produkte am Markt ist der Wise for Windows Installer. Mit dem Wise Installer lassen sich unterschiedlichste Installationspakete für Server, PDAs, normale Windows-Anwendungen oder auch für den SMS erstellen. Eine der beim Erstellen eines neuen Projekts angebotenen Vorlagen ist diejenige für ein Transform, also eine MST-Datei.
Nach der Auswahl der Option muss die MSI-Datei geöffnet werden. Sie wird dann eingelesen und in eine leicht verständliche Form umgesetzt.
Ein Problem zeigt sich hier aber: Einige Informationen aus den MSI-Dateien werden nicht ohne weiteres in einfach lesbarer Form dargestellt. Das gilt insbesondere für die Produktfunktionen, für die in den MSTs definiert werden kann, ob sie standardmässig installiert werden sollen. Statt dessen müssen die Detailinformationen über die Schaltfläche Details manuell eingeblendet werden. Es ist in einigen Bereichen sicher sinnvoll, nicht gleich alle Details anzuzeigen - bei den in MSI-Dateien standardmässig aber eher kryptisch bezeichneten Funktionen sind die Details wie insbesondere der Titel und beschreibende Texte aber fast unverzichtbar.
Dennoch bietet der Wise for Windows Installer eine gute Kombination aus einer einfachen Verständlichkeit der Inhalte von MSI-Dateien und einer umfassenden, gut strukturierten Übersicht über die konfigurierbaren Parameter. Durch das Konzept der Templates lassen sich darüber hinaus auch komplette Installationsprozeduren einfach erstellen.
Ebenso etabliert wie der Wise for Windows Installer ist InstallShield mit dem nun als DevStudio bezeichneten Produkt, das sowohl den eigentlichen Installer als auch den InstallShield Developer als Vorläufer hat. Auch hier wird mit Projekten gearbeitet. Um eine MST-Datei zu erstellen, muss die MSI-Datei angegeben werden. Zusätzlich können aber auch noch eine oder mehrere bereits vorhandene MSTs definiert werden, so dass eine neue MST-Datei die bereits in anderen Transforms definierten Anpassungen an die Installation gleich mitberücksichtigen kann.
Bei der Gestaltung der Oberfläche hat es InstallShield allerdings etwas zu gut gemeint. Der neu gestaltete Project Assistant ist reichlich unübersichtlich geworden. Sobald man aber einmal bei den Einstellungen gelandet ist, ändert sich das Bild. Hier ist das InstallShield-Produkt technischer geraten als es beispielsweise beim Wise for Windows Installer der Fall ist. Dafür werden aber alle erforderlichen Funktionen - und manchmal auch zu viele - sofort angezeigt.
Die Stärke des Produkts ist die Vielzahl unterschiedlicher Vorlagen und seine umfassende Funktionalität. Die Schwäche liegt in der grafisch etwas überfrachteten Benutzerschnittstelle und manchmal auch darin, dass es fast zu viele Informationen sind, die dargestellt werden. Sehr positiv sind die umfangreichen Erläuterungen zu jedem Eintrag.
OnDemand hat mit der WinInstall-Produktfamilie gleich mehrere Eisen im Feuer. Neben WinInstall und WinInstall LE 2003 als kostenlose Einstiegsversion für die Erstellung von Installationspaketen gibt es den WinInstall MSI Packager, mit dem "nur" MSI- und MST-Dateien bearbeitet werden können - das aber durchaus umfassend.
WinInstall ist in der Vollversion nicht so intuitiv zu nutzen, wie es bei Wise oder InstallShield der Fall ist. Die MSI-Funktionalität ist voll in die Softwareverteilungskonfiguration eingebunden. Darüber hinaus fehlen die Vorlagen, um Transforms direkt zu erstellen. Statt dessen muss eine MSI-Datei eingelesen, verändert und als weitere Datei gespeichert werden, um dann die Differenzen zwischen der ursprünglichen und der neuen MSI-Datei zu ermitteln und daraus die MST-Datei zu erzeugen - oder einfach die modifizierte MSI-Datei für die Installation zu verwenden. MST-Dateien sind aber typischerweise kleiner als die MSI-Dateien - und es können auch mehrere MSTs gemeinsam angewendet werden, so dass sie in Umgebungen, in denen mehrere unterschiedliche Installationsvarianten benötigt werden, flexibler als MSIs sind. Denn hier können unter Umständen wenige Transforms in unterschiedlichen Kombinationen genutzt werden, während für jede Installationssituation eine eigene MSI-Datei erzeugt werden müsste.
Die Informationen aus den MSI-Dateien werden zwar recht umfassend ausgelesen, die Übersichtlichkeit der Darstellung lässt aber doch sehr zu wünschen übrig. Die Informationen sind teilweise schwer zu lokalisieren, wozu auch die mehrfach geschachtelten Register beitragen. Wenn es rein um die Anpassung von MSI-Dateien geht, ist WinInstall in der Vollversion ein zu komplexes und nicht ausreichend spezialisiertes Produkt. Die nicht ganz so intuitive Vorgehensweise für die Erstellung von Transforms und die relativ unübersichtliche Umsetzung von importierten MSI-Dateien findet sich übrigens selbst beim Einstiegsprodukt WinInstall LE.
Im Gegensatz zu OnDemand hat NetSupport Solutions, der Anbieter von NetInstall, kein reines Installer-Produkt im Portfolio. Wer die Installer-Funktionalität von NetInstall nutzen möchte, muss also in jedem Fall das vollständige Produkt einrichten. Damit bietet sich NetInstall primär für Nutzer an, die auch eine Softwareverteilungslösung benötigen.
Die Bearbeitung von MSI-Dateien und die Erstellung von Transforms sind relativ gut gelöst. MSI-Dateien können in Projekte importiert werden, um dann direkt eine MST-Datei dazu zu erzeugen. Im Editor werden die wichtigsten Informationen aus der importierten MSI-Datei in übersichtlicher Weise dargestellt. Allerdings fehlt die Informationstiefe etwas. Etliche Parameter werden nur in einer langen und etwas kryptischen Liste im MSI-Browser angezeigt. Da aber die wesentlichen Informationen im direkten Zugriff sind, ist die Nutzung des MSI-Browsers nur in Ausnahmefällen erforderlich.
Die Erstellung von MSI-Dateien kann, wie bei den anderen Produkten auch, über Differenzinstallationen erfolgen, bei denen zwei Systemzustände miteinander verglichen werden. Die gesammelten Informationen lassen sich auch bei NetInstall überarbeiten, bevor das Installationspaket erstellt wird.
Die Erstellung von MSI- und MST-Dateien ist mit den professionellen Werkzeugen, die es am Markt gibt, kein Hexenwerk, sondern etwas, was man mit relativ geringem Einarbeitungsaufwand bewerkstelligen kann. Wer seine Software-Deployment-Prozesse optimieren möchte und sich dabei weder auf die standardmässig gelieferten MSI-Dateien beschränken noch den relativ aufwendigen Weg mit der Erstellung von Snapshots über Differenzinstallationen gehen möchte, kann durch die Erstellung von individuellen MSI-Paketen und insbesondere durch die Anpassung vorhandener MSI-Dateien durch MSTs seinen Administrationsaufwand meist deutlich senken.
Da MSIs der Standard für die Softwareinstallation sind, sind die Werkzeuge für Administratoren sogar fast unverzichtbar, auch wenn andere Lösungen für das Deployment eingesetzt werden. Ob man sich in diesen Fällen für reine Installer entscheidet oder umfassendere Lösungen nimmt, mit denen auch gleich die Softwareverteilung im Netzwerk unterstützt wird, ist eine Frage der vorhandenen Infrastruktur.
Die Produkte, die sich nicht auf eine reine Installer-Funktionalität beschränken, sind insgesamt komplexer in der Bedienung. Vor allem bei WinInstall sind die Anpassungen von MSTs dabei auch nicht besonders gut gelöst - was dort aber auch für WinInstall LE, also den reinen Installer, gilt.
Auffällig sind bei den getesteten Produkten die doch deutlichen Unterschiede in der Umsetzung von Informationen aus MSI-Dateien. Diese unterscheiden sich in der Darstellung, aber auch in der Informationsmenge, die geliefert wird. Insgesamt gefielen der Wise for Windows Installer 5.0 und das InstallShield DevStudio 9 am besten, wobei bei ersterem manchmal eine etwas grössere Detaillierung der standardmässig angezeigten Informationen wünschenswert wäre, während InstallShield die Oberfläche des Produkts doch etwas überfrachtet hat.