Holger's Elaborate
 
Start
 
Beruf
 
Projekte
QtIAX eng
DeStar eng
Patcher eng
PXA Tools eng
Ramses eng
Linux on PXA CPUs eng
 
Alte Projekte deu
 
 

WinMason

WinMason ist ein generischer Programm-Installateur. Er arbeitet nach dem Prinzip Pilotinstallation, die anschließend auf beliebig viele Rechner repliziert wird. Dazu werden einmalig und halbautomatisch Installationsscripte erstellt.

Ich nenne das generisch, da WinMason nicht auf andere Installationsprogramme aufbaut oder auf deren spezifischen Fähigkeiten angewiesen ist. Ein Beispiel: WinMason ruft nicht D:\SETUP.EXE /N auf um die etwas seltsame und schlecht dokumentierte Netzwerkinstallation von Office Programmen zu starten. Denn erstens erlaubt die lokale Anpassungen nur sehr ungenau und extrem aufwendig. Zweitens muß schon der Service-Release 2 für Office vor dieser Methode passen. Außerdem kommen viele Programme nicht mit "Netzwerkinstallations"-Fähigkeiten. Da wir aber alle Applikationen automatisiert installieren möchten, verlassen wir uns nicht auf Sonderfähigkeiten einiger Installationsprogramme. Stattdessen erstellen wir unsere eigenen Installationsscripte. WinMason führt die anschließend nur aus.

Die Erstellung der Skripte ist recht einfach. Zunächst wird ein Schnappschuß des aktuellen Systemzustandes gemacht. Danach wird die Anwendung installiert, ganz normal, wie man das immer macht. Man kann auch die Applikation gleich anpassen, einen Treiber installieren oder sonstige Änderungen am System vornehmen. Wenn man fertig ist, startet man einen Vergleichslauf des neuen Systemzustandes mit dem vorherigen. Alle Unterschiede werden in Form einer normalen Textdatei exportiert.

Nun wird diese Installationsskript auf dem Server gespeichert. Der Vergleichslauf wird Änderungen, Hinzufügungen oder Löschungen von Dateien, Registry-Einträgen oder INI-File-Zeilen gefunden haben. Die hinzugefügten oder geänderten Dateien müssen nun "eingesammelt" werden. WinMason speichert sie in Unterverzeichnissen unterhalb des Installationsskriptes ab.

Letztlich muß dieses Skript dann nur auf den anderen Rechnern ausgeführt werden. WinMason führt einfach alle Hinzufügungen, Änderungen und Löschungen an den Dateien, Registry-Einträgen und INI-File-Zeilen auf dem Zielsystem durch. Nun, nicht exakt: WinMason beherrscht die Versionsnummern von DLLs, es wird also nicht die moderne MSVCRT.DLL durch eine ältere überschreiben.

Bildschirmfotos

Allen lieben Bildschirmfotos :-) Hier ist ein Bild, das Winmason ziemlich am Anfang einer Installationssitzung zeigt. Soeben wurden die wirklich nötigen offiziellen Patches für Windows 95 OSR 2.1 installiert und WinMason hat mit dem Installieren von Office begonnen:

WinMason doing it's job

Man kann deutlich sehen, daß WinMason einige TTF-Dateien nicht überschrieben hat. Denn die durch "Windows: Euro character support" installierten Schriftdateien waren neuer als die im Service-Release enthaltenen Schriftarten.

Einige Sekunden später:

WinMason finished

Jetzt ist die Installation beendet, man sieht den Kommentar "Viel Spaß bei der Arbeit". Das ziegt uns, daß die Skripte mehr als nur Installieren können. Sie kennen bedingte Ausführung, Messageboxen, intelligente (nur wenn nötig) oder erzwungene Ausführung von Subskripts und weiteres mehr.

Vielleicht möchten Sie mal eine mit Stopuhr gemessene Installationssitzung anschauen. Sie beinhaltet eine komplette Windows-Installation. Können Sie Windows so schnell und reproduzierbar installieren wie ich?


Gegen Patente auf Software!
Valid HTML 4.01!