draft

Installationscripte


Im Voraus

Folgende Begriffe werden im Verlauf öfters fallen:

Script

Als Scriptsprache wird der Befehlssatz des Kommandozeileninterpreter CDM.EXE verwendet. Dies bringt zwar Nachteile mit sich, wie z.B. das FOR-Schleifen nur eine Befehl ausführen kann. Allerdings ist er Standardmäßig dabei und muß deshalb nicht noch vorher Installiert werden.

Rechnertyp

Unter einem Rechnertyp verstehen wir ein Distributionspacket. D.h. eine Zusammenstellung von Anwendungen die für einen bestimmten Bedarf benötigt wird. Der Rechentyp KURS1535 ist die Distribution für den Kursraum 1535 im LRZ.

Motivation

In der ersten Version unseres Windows NT Distributionsservers wurden noch die Scripte verwendet die Microsoft mit seinem Zero Administrations Kit (ZAK) ausliefert wurden. Diese sind nur noch erweitert und angepaßt worden. Schon bald war klar, daß für die neue Version ganz neue Scripte geschrieben werden mußten um den Anforderungen eines Distributionsservers gerecht zu werden. Die Schwachpunkte waren vor allem
  1. Unübersichtliche Aufrufstrutur der Scripte
  2. Unübersichtlich Scripte
  3. Erweiterbarkeit bzgl. der Anwendungen.
  4. Erweiterbarkeit bzgl. der Rechnertypen
Als Anwort auf diese Defizite der Scripten haben wir folgende Anforderungen definiert:
  1. Durch das Hinzunehmen eine Anwendung in die Distribution sollen keine anderen Scripte bearbeitet werden müssen.
  2. Jede Anwendung bekommt ihre eigenen Scripte für die Installation, die Vergabe der Zugriffsrechte sowie das verstecken von Dateien und Verzeichnissen.
  3. Der Installationsprozeß muß sich wieder aufsetzen lassen ohne das Anwendungen doppelt installiert werden.
  4. Durch das einfügen neuer Rechnertypen sollen die vorhandenen Scripte weitgehend unbeinflußt bleiben.

Realisierung

Das Setup von Windows NT 4.0 sieht vor daß, nachdem alle Betriebsystemskomponenten installiert worden sind, aber noch bevor die Installation abgschlossen wird, die Kommandos die in der Datei Cmdlines.txt stehen ausgeführt werden. Diese Datei steht im $OEM$-Verzeichnis welches sich dem Ordner befindet in welchem die Windows NT Installation liegt. Diese Datei kann z.B. dazu genutzt werden um die Installation der Servicepacks zu veranlassen. Wir nutzen diese Datei dazu hier unserer erstet Script, FIRST.CMD einzubinden.

Die Script-Struktur

Die

Übersicht

 

Die Dateinamen

Beim betrachten der Strukturübersicht fallen die ungewöhnliche Namesgebung der Unterverzeichnisse auf. Da die Verzeichnisse über eine FOR-Schleife alphabetisch abgearbeitet werden, war eine notwendig eine Möglichkeit zu finden die Reihenfolge in welcher die Scripten abgearbeitet werden zu beeinflußen.
Normale Namesgebung Alternative Namensgebung
HotMet 
msie302 
msoff97 
netscpe 
solomon 
spss8 
system 
vnc
0system 
2msoff97 
3msie302 
3netscpe 
3solomon 
3spss 
3vnc 
4HotMet
Auf diese weise können wir die Reihenfolge in der die Anwendungen installiert werden selbst bestimmen.

Hinzufügen einer neuen Anwendung

Wie funktioniert nun das hinzufügen einer neuen Anwendung zu einem Rechnertyp?
  • Anlegen eines Verzeichnis für die Anwendung im entsprechenden Unterverzeichnis des Rechnertyps.
  • Erzeugen der Datei install.cmd im Anwendungsverzeichniss. In dieser muß die Installationsmethode beschreiben werden. In gut 90% der Anwendungen bedeutet dies Installation mittels Sysdiff.
  • Optional kann eine Datei acls.cmd ezeugt werden in der spezielle Zugriffsrechte für Dateien und Ordner stehen.
  • Ebenso optional ist das anlegen der Datei hide.cmd in der festgelegt wird welche Dateien sichtbar seine müßen und welche nicht.
Das war es. Beim nächsten Ablauf von start.cmd wir die Anwendung Installiert werden.

Hinzufügen eines neuen Rechnertyp

Das hinzuügen eines neuen Rechnertyps geht ebenso einfach.
  • Anlegen eines neuen Verzeichnis für den Rechnertyp.
  • Kopieren der Dateien inst_all.cmd, install.cmd, acls.cmd und hide.cmd aus einem anderen Rechnertyp-Verzeichnis.
  • Hinzufügen der Anwendungen die Installiert werden sollen.

Ablaufsteuerung

Um den Installationsablauf zu steuern, d.h.verhindern das eine Anwendung mehrmals installiert wird und das veranlassen von eventuellen reboots, verwenden wir Hilfsdateien. Wichtig! der Inhalt der Dateien ist egal und wird nicht überprüft. Die Überprüfung bezieht sich nur auf das vorhandensein der Dateien.

inst.sem

Dies Datei wird im Verzeichnis der Anwendung erzeugt wenn die Installation abgeschlossen ist. Vor der Installation überprüft das Script ob die Datei existiert, wenn ja wir die Installation mit der nächsten Anwendung fortgesetzt.

reboot.sem

Diese Datei steht ebenso im Anwendungsverzeichnis. Diese Datei muß selbst ezeugt werden. Ist sie vorhanden weiß das Installationsscript das es nach der Installation einen Neustart machen muß.

Der Installationsprozeß

Der Installationsablauf gliedert sich in 3 Phasen.

1. Phase - First.cmd

Dieses Script bereitet den Installationsproppzeß vor.

Das Script für 2. Phase - Hauptphase - wird in die Registrierung eingetragen. Ein Autologin für den User INSTALL sowie der Pfad für die temporären Dateien werden ebenfalls eingetragen.
 

 
 
 

2. Phase - Start.cmd

 

2. Phase - Inst_All.cmd

 

3. Phase - Last.cmd

Nachdem die Installationen abgeschlossen sind räumt das Script LAST.CMD auf. Dh. temporäre Dateien werden gelöscht. Das Autologin wird ausgeschaltet und der Rechner wird neu gestartet.

(c)1998 Dipl.-Inform. Thomas Fakler