Zum Artikel
< >

Aktives GUI-Element

Statisches GUI-Element

Quelltext

WPS-Objekt

Datei/Pfad

Befehlszeile

Inhalt Eingabefeld

[Tastenkombination]

mehr

Feature Install entdecken
Teil 2: Installationshinweise für Fortgeschrittene

von Alex Taylor, © Juli 2008

In meinem letzten Artikel erwähnte ich, wie man den sogenannten nicht überwachten, oder CID, Modus einsetzen kann, damit ein Feature-Installer basiertes Produkt von der Befehlszeile aus installiert werden kann. In dieser Ausgabe werde ich diesen Prozeß ein wenig näher beleuchten. Ich werde auch ein paar Problemlösungsansätze in bezug auf Feature-Install basierte Produkte ansprechen.

CID

CID ist eine Abkürzung für “Configuration, Installation and Distribution” (“Konfiguration, Installation und Verteilung”), eine IBM-Terminologie für eine automatisierte Softwareinstallation. Ein Produkt, welches CID-geeignet ist, kann ohne Eingriffe des Benutzers installiert werden - typischerweise durch das Hinterlegen der Konfigurationsoptionen in einer ASCII -Textdatei, bekannt als Antwortdatei, und der Eingabe eines einzigen Befehls, um die Installation anzuwerfen.

Alle OS/2-Komponenten (und auch eine große Anzahl an OS/2-Softwareprodukten) sind CID-geeignet. CID-Unterstützung ist in die Feature-Install-Engine direkt eingebaut, was bedeutet, daß jedes Feature-Install basiertes Produkt automatisch CID-geeignet ist.

Die meisten Feature-Install basierten Produkte haben die CID-Installationsanweisungen irgendwo in ihrer Installationsdokumentation. Diese Anweisungen beschreiben, wie die Antwortdatei auszusehen hat und wie man den CID-Installationsmodus aktiviert.

Unglücklicherweise gibt es zwei Produkte (namentlich VisualAge C++ 4.0), die keine solche Anweisungen mit sich führen. Glücklicherweise ist es jedoch nicht allzu schwierig herauszufinden, was man benötigt.

Festlegen der Antwortdatei-Werte

Wenn man Glück hat, sagt einem die produkteigene Dokumentation, wie man eine CID-Antwortdatei erstellt. Aber selbst wenn nicht, ist es üblicherweise nicht allzu schwierig.

Sie werden sich erinnern, das ich in meinem letzten Artikel beschrieben habe, wie Sie mit einer partiellen Antwortdatei die Installationsvariablen eines Produktes einstellen können. Nun, was denken Sie? Diese partielle Antwortdatei ist das gleiche Teil wie die CID-Antwortdatei, die Sie mit CLIFI einsetzen - mit einem wichtigen Unterschied.

Der Unterschied ist, daß Sie bisher die zu installierenden Komponenten, die mit dieser Datei installiert werden sollten, nicht angeben mußten, weil Sie das über die Install-Objekt-GUI erledigen konnten. Wenn sie eine nicht überwachte Installation ausführen lassen, haben Sie natürlich keinen Zugriff auf die graphische Benutzerschnittstelle, weshalb Sie alle Installationsoptionen in der Antwortdatei angeben müssen. Und neben den Installationsvariablen müssen wir auch die richtigen Antwortdatei-Schlüsselbegriffe eingeben, damit genau die Komponenten ausgewählt werden, die wir wollen.

Wenn es keine Dokumentation gibt, müssen sie in beiden Fällen ein bißchen Arbeit investieren, um herauszufinden, welche Optionen Sie einstellen müssen. Das ist nichts anderes wie das, was wir schon im letzten Artikel gemacht haben; der einfachste Weg ist das Anlegen eines Install-Objekts, und in dieses die Produktdefinitionsdatei zu laden und sich dann die Variablenseite in dem Einstellungsnotizbuch anzuschauen.

Dies habe ich im letzten Artikel hinlänglich beschrieben. Eine kurze Auffrischung: Sie erstellen ein Install-Objekt indem Sie CLIFI /A:T auf der Befehlszeile eingeben; laden die Produktdefinitionsdatei über die Anwahl Antwortdatei> Lesen aus dem Kontextmenü und dann der Auswahl der entsprechenden Produktdefinitionsdatei; schließlich führen Sie einen Rechtsklick auf dem Objekt aus, wählen Einstellungen und gehen auf die Seite, die Variablen bezeichnet ist.

Als Beispiel aus dem echten Leben werde ich diesmal IBM VisualAge C++ 4.0 installieren, welches, wie ich bereits erwähnte, keine Informationen zur nicht überwachten Installation enthält. (Nun, tatsächlich enthält es eine kurze Beschreibung zur diesem Vorgang; genauer steht darin, daß es nicht unterstützt wird. Glücklicherweise weiß ich es besser. Jedes Feature-Install geeignetes Produkt kann im nicht überwachten Modus installiert werden, man muß nur um die richtige Technik wissen.)

Also werde ich zunächst ein temporäres Install-Objekt für VisualAge C++ 4.0 anlegen, nur damit ich die verschiedenen Variablen überprüfen kann. (Theoretisch könnte ich diese Informationen direkt in der Produktdefinitionsantwortdatei nachlesen; aber das ist ziemlich mühsam, wenn es um die Variablen geht, weil diese über die gesamte, riesige Datei verteilt sind. Ich denke, das Lesen des Install-Objekts ist einfacher.)

Die Produktdefinitionsantwortdatei für VisualAge C++ 4.0 liegt auf der Installations-CD als \VACPP\VACPP.RSP. Nach dem Anlegen eines Install-Objekts und dem Laden dieser Datei erhalte ich ein Objekt namens VACPP_FI. Schaue ich mir die Variablenseite an, finde ich dort 26 zugewiesene Variablen. Allerdings kann ich die meisten davon außer acht lassen, da sie entweder von anderen Variablen abhängig sind, nicht anwendbar für mein Vorhaben oder beides.

Install-Objekt-Variablen
Bild 1. Install-Objekt-Variablen

Nach einer kurzen Durchsicht dieser Variablen stelle ich fest, daß die in der nachfolgenden Tabelle Wiedergegebenen die einzigen sind, die ich ändern muß:

Tabelle 1. Variablen
Variablenname Standardwert
VACInstDrv C:
VACSampDrv C:
VACInstDir IBMCPP40
VACSampDir IBMCPP40

Da ich nicht vorhabe das Toolkit zu installieren, da ich bereits eine neuere Version davon auf meinem System habe, kann ich die Variablen, die diese Komponente betreffen, getrost ignorieren.

Wichtig wäre noch darauf hinzuweisen, daß ich die Medien-Pfad-Variable, die ich in meinem letzten Artikel erwähnte, nicht zu ändern brauche, da diese bei der CID-Installation nicht verwendet wird.

Wie im letzten Artikel beschrieben, ist jedes Feature-Install-Produkt und jede wählbare Komponente dieses Produktes ein Feature. Nun, jedes dieser Features hat eine Feature-ID, der interne symbolische Name der von Feature-Install verwendet wird um es zu identifizieren.

Erzeuge ich nun die CID-Antwortdatei, muß ich jeden Variablennamen mit der Feature-ID des Top-Level-Features anführen, gefolgt von einem Punkt. (Ich erwähnte dies letztes Mal.) Die Feature-ID erhalte ich, wenn ich das Einstellungsnotizbuch des Install-Objekts öffne und auf der ersten Seite nachschaue (diese heißt Information).

Informationsseite mit der Feature-ID
Bild 2. Informationsseite mit der Feature-ID

Die Feature-ID wird als Installation Feature ID angezeigt, das erste der angezeigten Felder. Im Fall des VisualAge C++ 4.0 ist es VAC. Also wird in meiner Antwortdatei jede Variable mit VAC. eingeleitet werden.

So, nun weiß ich also, welche Variablen ich angeben muß und wie sie festgelegt werden. Das nächste Problem besteht darin, dem Feature-Installer mitzuteilen, welche Komponenten ich installieren möchte.

Dazu müssen wir die Feature-ID jeder wählbaren Komponente kennen. Schließen wir das Einstellungsnotizbuch und führen wir einen Doppelklick auf dem Install-Objekt aus, um die Normalansicht zu öffnen. Diese zeigt uns die hierarchische Liste der verschiedenen Komponenten (oder Kind-Features) an, die das Produkt ausmachen.

 Kind-Feature Liste
Bild 3. Kind-Feature-Liste.

Um herauszufinden, welche ID den Kind-Features zugeordnet ist, führt man einen Rechtsklick auf den jeweiligen Namen in dem Komponentenbaum und wählt Einstellungen. Das Einstellungsnotizbuch für das Kind-Feature wird angezeigt.

Kind-Feature Einstellungen
Bild 4. Kind-Feature-Einstellungen

Wiederum zeigt der erste Eintrag auf der ersten Seite Installation Feature ID den symbolischen Namen des Kind-Features.

Sie haben sicherlich die Baumverzweigungsknöpfe (“+” Zeichen) neben den meisten Einträgen des Install-Objekts bemerkt haben. Dieses bedeutet, daß auch diese Kind-Features enthalten. Indem man die Verzweigungen aufklappt, kann man feststellen, was dahinter verborgen ist.

Kind-Features der 3ten Ebene
Bild 5. Kind-Features der dritten Ebene

Mit der gleichen Methode wie oben kann ich auch nun die Feature-IDs dieser Kind-Features der dritten Ebene feststellen. In diesem Falle scheinen alle beschrieben, als wären sie auf On CD/Lan verfügbar. Ich bin mir nicht ganz sicher, was diese Optionen steuern; allerdings sind sie wohl so voreingestellt, und ich belasse es dabei.

Wenn ich mir nun alle Kind-Features wie oben beschrieben ansehe, kann ich schlußendlich die verschiedenen VisualAge C++ 4.0-Komponenten bestimmen, als da wären:

Tabelle 2. Visual Age C++ Komponenten
Komponente Feature ID
VisualAge C++ Basics
    —> On CD/LAN
VAC_BASE
VAC_BASE_CDLAN
IDE
    —> On CD/LAN
VAC_IDE
VAC_IDE_CDLAN
IDE Tech Preview
    —> On CD/LAN
VAC_IDETEC
VAC_IDETEC_CDLAN
OS/2 Toolkit
    —> On CD/LAN
VAC_TKT
VAC_TKT_CDLAN
OS/2 Toolkit Doc
    —> On CD/LAN
VAC_TKTDOC
VAC_TKTDOC_CDLAN
Resource Editor
    —> On CD/LAN
VAC_RES
VAC_RES_CDLAN
Visual Builder
    —> On CD/LAN
VAC_VB
VAC_VB_CDLAN
Data Access Builder
    —> On CD/LAN
VAC_DAX
VAC_DAX_CDLAN
Samples
    —> On CD/LAN
VAC_SAMP
VAC_SAMP
HTML Help Files
    —> On CD/LAN
VAC_HTML
VAC_HTML_CDLAN
IBM Open Class Libraries
    —> On CD/LAN
VAC_IOCL
VAC_IOCL_CDLAN
IBM Open Class Source
    —> On CD/LAN
VAC_IOCS
VAC_IOCS_CDLAN
Uninstall
    —> On CD/LAN
VAC_UNINST
VAC_UNINST_CDLAN
CD/LAN Install Option VAC_CDLAN

Jetzt habe ich also die Informationen, die ich brauche. Nun kann ich das Install-Objekt schließen und löschen, weil ich es für die Installation nicht mehr brauche. Ich wollte damit ja nur die Variablen- und die Feature-ID-Namen herausfinden.

Damit kann ich die Antwortdatei nun erstellen.

Erstellen der Antwortdatei

Zur Erzeugung der Antwortdatei setzte ich jede Variable und jedes Feature-Auswahl-Schlüsselwort in eine Textdatei, jeweils 1 Eintrag je Zeile. Die Textdatei sollte die Endung .RSP haben; meine werde ich VACPPCID.RSP nennen.

Jede Variable muß in dem Format feature ID.variable=Wert entsprechen, wobei die feature ID die Top-Level-Feature-ID ist (bei mir also VAC), variable der Name der zu modifizierenden Variablen ist und Wert der neue Wert ist, der der Variablen zugewiesen werden soll.

Jedes Auswahl-Schlüsselwort muß dem Format child feature ID.Selection=Wert entsprechen, wobei child feature ID die Feature-ID der Produktkomponente (Kind-Feature) ist - und der Wert ist entweder 0 (nicht ausgewählt) oder 1 (ausgewählt). Führen Sie die Auswahl-Schlüsselworte nicht mit der Top-Level-Feature-ID an; hier ist nur die Kind-Feature-ID gefragt.

Hier also meine Antwortdatei:

###  Laufwerks- und Pfadangaben
VAC.VACInstDrv=D:
VAC.VACSampDrv=D:
VAC.VACInstDir=Programs\IBMCPP40
VAC.VACSampDir=Programs\IBMCPP40

###  Gewählte Komonenten
VAC_BASE.Selection=1
VAC_IDE.Selection=1
VAC_IDETEC.Selection=0
    VAC_IDETEC_CDLAN.Selection=0
VAC_TKT.Selection=0
    VAC_TKT_CDLAN.Selection=0
VAC_TKTDOC.Selection=0
    VAC_TKTDOC_CDLAN.Selection=0
VAC_RES.Selection=1
VAC_VB.Selection=1
VAC_DAX.Selection=0
    VAC_DAX_CDLAN.Selection=0
VAC_SAMP.Selection=1
VAC_HTML.Selection=1
VAC_IOCL.Selection=1
VAC_IOCS.Selection=0
    VAC_IOCS_CDLAN.Selection=0
VAC_UNINST.Selection=1
VAC_CDLAN.Selection=0

Kommentare kann man einfügen, indem man diese mit dem #-Zeichen (Nummer-Zeichen) einleitet.

Wie ich erwähnte, hatte ich mich entschlossen, das mit VisualAge mitgelieferte Toolkit nicht zu installieren. Auch werde ich das IBM Open Class Source-Paket nicht installieren, wie auch den Data Access Builder (da ich keine DB/2-Entwicklung betreibe). Und ich weiß auch nicht so richtig, wofür der IDETech Preview benötigt wird oder die CD/LAN Install Option, aber da beide standardmäßig in der Produktdefinitionsantwortdatei nicht ausgewählt sind (sie waren nicht markiert, als ich das Install-Objekt angelegt hatte), nehme ich an, daß ich sie auch nicht benötige.

Wie Sie erkennen können, habe ich für jedes abgewählte Kind-Feature auch seine eigenen Kind-Features abgewählt. Dies sind die eingerückten Zeilen (das Einrücken ist nicht wirklich notwendig, aber ich meine, daß man dadurch die untergeordneten Features leichter erkennt). Der Grund liegt darin, daß diese standardmäßig in der Produktdefinitionsantwortdatei ausgewählt sind (wie ich bereits erwähnte), und dies knüpft an eine wichtige Eigenschaft des Feature-Installers: Mit dem Abwählen eines Features werden nicht automatisch auch dessen Kinder abgewählt. Also muß ich dies ausdrücklich tun. (Aus genau diesem Grunde muß ich auch die Kinder des zur Installation ausgewählten Features nicht angeben: Sie sind standardmäßig bereits als ausgewählt markiert.)

Starten der Installation

Das Starten der nicht überwachten Feature-Install-Installation erfordert den Einsatz von CLIFI.EXE, die Befehlszeilenschnittstelle des Feature-Installers. Diese Programm wird als Bestandteil des Feature-Installers installiert und sollte daher schon auf Ihrem System-PATH verfügbar sein.

CLIFI.EXE hat recht viele Befehlszeilenoptionen; für die nicht überwachte Installation brauchen Sie aber nur ein paar wenige davon.

Die entsprechende Befehlszeilensyntax sieht so aus:

    CLIFI /A:C /B:<Startlaufwerk>
               /S:<Installationsquelle>
               /R:<Produktdefinitionsantwortdatei>
               /R2:<CID Antwortdatei>
               /L1:<Name der Fehlerprotokolldatei>
               /L2:<Name der Verlaufsprotokolldatei>

Ich werde nun die verschiedenen Schalter kurz beschreiben:

/A:C (genauso eingegeben wie hier geschrieben)
Dies bedeutet “action - CID install&rdquo
/B:
Dieser Schalter spezifiziert das Systemstartlaufwerk; er wird verwendet um die CONFIG.SYS und verschiedene andere Dinge ausfindig zu machen (produktabhängig).
/S:
Dieser zeigt auf das Verzeichnis, in welchem die Produktinstallationsdateien liegen. Dies sollte das gleiche Verzeichnis sein, in dem auch die Produktdefinitionsdateien liegen (nächster Parameter).
/R:
Dieser Schalter wird gesetzt, um die Datei zu spezifizieren, die die Produktdefinitionen für den Feature-Installer enthält. Das ist die Produktdefinitionsantwortdatei, die ich in meinem letzten Artikel beschrieben hatte; sie enthält alle Daten zu dem zu installierenden Produkt im ASCII-Text-Format. Diese Datei gehört immer zu den Produktinstallationsdateien und liegt entweder im Verzeichnis des Top-Level-Produktes oder in einem direkten Unterverzeichnis davon. Die Datei endet auf .RSP und ist üblicherweise recht groß.
/R2:
Dieser Schalter spezifiziert die aktuelle CID-Antwortdatei, die die verschiedenen Installationsoptionen enthält. Feature-Install kennt dies als partielle Antwortdatei; das ist die Antwortdatei, die Sie erstellt haben.
/L1: und /L2:
Diese Schalter geben die Namen der Protokolldateien an, in denen der Feature-Installer den Installationsfehlermeldungen und den Installationsverlauf speichern wird. Diese Schalter sind wahlfrei; geben Sie diese nicht an, werden die Fehlermeldungen in das Wurzelverzeichnis Ihres Startlaufwerks als ERROR.LOG, geschrieben, und es wird kein Installationsverlauf gesichert.

So, um die Installation des VisualAge C++ 4.0 anzuwerfen, setze ich folgenden Befehl ab:

clifi /a:c /b:c: /s:s:\vacpp /r:s:\vacpp\vacpp.rsp /r2:c:\vacppcid.rsp /l1:c:\var\log\vacpp.l1 /l2:c:\var\log\vacpp.l2

Das Produkt sollte nun ohne jede weitere Meldung installiert werden.

Die Scharfsichtigen unter Ihnen werden wohl bemerken, daß tatsächlich ein Install-Objekt auf der Arbeitsoberfläche angelegt wird, wenn CLIFI ausgeführt wird, und dessen Titel ändert sich dann, um das zu installierende Produkt wiederzuspiegeln. Dies ist genau derselbe Prozeß, den wir letztens selber manuell durchgeführt haben: CLIFI erzeugt ein Install-Objekt, lädt es mit den Produktdefinitionen, setzt die Variablen und nimmt die Auswahl so vor, wie es in der partiellen Antwortdatei festgelegt ist und startet die Installation. Der hauptsächliche Unterschied ist, daß CLIFI dies alles automatisch macht, ohne daß wir irgendwie eingreifen müssen.

Sobald CLIFI alles gestartet und auf den Weg gebracht hat, sollten Sie eine Fortschrittsanzeige wie diese sehen:

Installationsfortschrittsanzeige
Bild 6. Installationsfortschrittsanzeige

Vorausgesetzt die Installation wird erfolgreich durchgeführt, wird CLIFI ohne Meldung beendet. (Jedes von ihm auf der Arbeitsoberfläche angelegt Install-Objekt wird automatisch gelöscht.) Sie sollten einen Neustart ausführen, bevor Sie das installierte Produkt verwenden.

In meinem Fall kann ich erkennen, daß VisualAge C++ 4.0 erfolgreich in D:\Programs\IBMCPP40,installiert wurde, meine Systemdateien wurden so aktualisiert wie sie sollten, und ein Produktordner wurde auf meiner Arbeitsoberfläche eingerichtet:

Ordner des installierten Produktes
Bild 7. Ordner des installierten Produktes

Fehlerbehebung

Wenn man beim Feature-Installer auf Probleme stößt, kann man ein paar Dinge ausprobieren um diese zu lösen.

Stillstand während der Installation

Zunächst, die Fehlererkennung im Feature-Installer ist weder sehr belastbar noch sonderlich schnell. Wenn er während der Installation auf einen Fehler stößt, kann es manchmal sehr lange dauern bis er erkennt, was verkehrt ist und abbricht. Wenn dies eintritt scheint er mit einer eingefrorenen Fortschrittsanzeige und ohne Festplattenaktivität “stehengeblieben” zu sein. Ich weiß, daß er dann bis zu 2 Stunden (ja, Stunden) so stehenbleibt, sogar auf neuen schnellen Systemen, bevor er endlich aufwacht und eine Fehlermeldung ausgibt.

Wenn also der Feature-Installer eingefroren zu sein scheint, sollten Sie ein paar Stunden warten, bevor Sie sicher annehmen können, daß er tatsächlich hängengeblieben ist.

Echte Stillstände im Feature-Installer sind deutlich besser zu erkennen. Unglücklicherweise ist eine der Schwächen von Feature-Install die Art und Weise wie er in dem WPS-Prozeß läuft: wenn er tatsächlich hängt oder abbricht, nimmt er gerne auch die Arbeitsoberfläche mit. In solchen Fällen können Sie entweder den Prozeß beenden und die Arbeitsoberfläche neu starten oder Sie müssen das ganze System neu starten.

Zufällig habe ich einen Vorgang beobachtet, der genau zwischen diesen beiden Phänomenen liegt. Feature-Installer hatte einen Fehler erkannt und schien sich sauber beendet zu haben; jedoch in manchen Fällen scheint er nicht sauber aufgeräumt zu haben - und jeder weitere Versuch ihn wieder aufzurufen wird fehlschlagen, bis das System neu gestartet wurde (oder zumindest die WPS zurückgesetzt wurde). Nach meinen Erfahrungen sind solche Situationen glücklicherweise aber doch recht selten.

Protokolldateien

Wenn ein Produkt installiert wird, schreibt Feature-Install eine Fehlerprotokolldatei und, optional, eine Verlaufsprotokolldatei. Man kann diese über die CLIFI-Schalter /L1 und /L2 wie oben beschrieben vorgeben.

In der Praxis sind die Unterschiede zwischen der Fehlerprotokolldatei und der Verlaufsprotokolldatei gering. Sie enthalten beide eine recht detaillierte Beschreibung der Installation, und falls ein Fehler auftrat, kann man manchmal in einer dieser Dateien Hinweise darauf finden, was schiefgelaufen sein kann. Es ist jedoch sehr wahrscheinlich, daß sie nicht wirklich weiterhelfen und daß man woanders nachschauen muß, um aussagekräftige Informationen zu bekommen.

Neben diesen beiden Dateien schreibt Feature-Install noch Informationen in die WPINSTAL.LOG, die im \OS2\INSTALL-Verzeichnis liegt. Diese Datei enthält die vollständige Historie aller Feature-Install-Installationen bis zurück zur ersten Installation des Betriebssystems (oder besser des ersten Feature-Install). Diese Datei kann recht groß werden, aber sie enthält oft Informationen über Probleme, die die beiden anderen Dateien nicht haben. Schauen Sie sich die neuesten Einträge in dieser Datei zu der letzten Installation an.

Fehlerbereinigung der Antwortdateien

Wenn man ein Produkt über eine Antwortdatei installiert, führen bereits kleinste Fehler in der Antwortdatei dazu, daß das Produkt nicht so installiert wird wie gewünscht. Meistens werden dabei falsche Komponenten installiert oder die Dateien werden in falschen Verzeichnissen abgelegt.

Diese Probleme rühren meist daher, daß Sie entweder nicht alle benötigten Schlüsselwörter in der Antwortdatei angegeben haben, oder weil Sie einige davon nicht richtig angegeben haben.

Beherzigen Sie daher bei der Erstellung der Antwortdatei folgende Hinweise:

Sie können Ihre Antwortdatei auf mögliche Fehler überprüfen, indem Sie ein Install-Objekt auf Ihrer Arbeitsoberfläche erstellen und dann die Produktdefinitionen einlesen (wie in meinem letzten Artikel beschrieben) und in gleicher Weise mit Ihrer Antwortdatei verfahren. Nehmen Sie dann ein gründliche (doppelte) Überprüfungen der Variablenseite im Einstellungsnotizbuch vor, um sicher zu sein, daß alle Variablen richtig gesetzt sind, und vergewissern Sie sich auch, daß die richtigen Komponenten im Install-Objekt ausgewählt oder abgewählt sind, so wie es sein soll.

Bereinigung von Installierten Einrichtungen

Wie in meinen letzten Artikel beschrieben, erstellt jedes Feature-Install basierte Produkt während der Installation ein Install-Objekt für sich selbst im Installierte Einrichtungen-Verzeichnis (liegt im \OS2\INSTALL-Verzeichnis auf Ihrem Systemlaufwerk). Diese Install-Objekte nennt man auch Inventar-Objekte, und sie enthalten alle Informationen zu dem installierten Produkt. Sie können sich diese Objekte anschauen um einen Überblick über den Installationsverlauf zu erhalten und um Teile des Produktes (das sie darstellen) oder das Produkt insgesamt zu entfernen.

Die Daten zu diesen Objekten sind in der Datei \OS2\INSTALL\FI.INI gespeichert. Im Falle daß eine fehlgeschlagenen Installation zu fehlerhaften oder unvollständigen Inventar-Objekten geführt hat, kann diese FI.INI in einem “nicht synchronen” Verhältnis zu dem Inhalt der Installierte Einrichtungen sein. Diese Problem kann sich dadurch manifestieren, daß es zu unerklärlichen Fehlern und Abstürzen des Feature-Installers kommt, wenn ein Produkt installiert oder deinstalliert werden soll.

Es gibt ein paar freie Werkzeuge (von Henk Kelder, Autor von CHECKINI) namens MAKEFI und READFI, die dazu geschrieben wurden, Probleme in Bezug auf dieFI.INI und dem Installierte Einrichtungen-Verzeichnis zu beheben. Diese finden Sie zusammen mit ein paar einfachen Anleitungen auf Hobbes . Der allgemeine Lösungsansatz besteht darin, jedes ungültige Inventar-Objekt aus dem Installierte Einrichtungen-Verzeichnis zu entfernen (wenn möglich mit anschließender Reinigung mittels CHECKINI oder einem ähnlichen Werkzeug) und dann READFI.EXE laufen zu lassen, damit mögliche Fehler in der FI.INI gefunden werden können und, sofern erforderlich, MAKEFI.EXE um die FI.INI wiederherzustellen.

Warp Server SMP und das Netscape Plugin

Diejenigen unter Ihnen, die den WarpServer SMP (Version 4) einsetzen, werden ein kleines Problem im Zusammenhang mit dem Feature-Install und den letzten erhältlichen Versionen des Netscape Communicators entdeckt haben. Das Feature-Install-Plugin funktioniert nämlich nicht damit, und so wie es aussieht, wird sich dies auch nicht ändern lassen.

Dies scheint besonders den WarpServer SMP zu betreffen. Glücklicherweise, nachdem Sie diese Artikel gelesen haben, werden Sie besser gerüstet sein um Feature-Install basierte Produkte ohne das Netscape-PlugIn zu installieren.

Sollten Sie allerdings die Web-Browser-Methode unbedingt einsetzen müssen, so können Sie, wie ich herausgefunden habe, das Plugin auch mit dem Netscape 2.02 einsetzen. Installieren und verwenden Sie dann also diese Version (vorausgesetzt, Sie können noch irgendwo eine Kopie davon auftreiben). Mag sein daß das PlugIn auch noch mit anderen, älteren Versionen des Netscape Communicators 4.x (nicht die letzten Versionen) funktioniert, aber das kann ich nicht mehr überprüfen.

Problemprodukt: Java 1.1.8

Java 1.1.8 ist eins der unangenehmsten Feature-Install-Produkte, die ich jemals versuchte zu installieren. Ich muß zugeben, daß es mir bislang nicht gelungen ist, es mit der Install-Objekt-Methode erfolgreich zu installieren.

Das erste Problem liegt darin, daß dieses Produkt auf einer Unmenge obskurer Variablen aufbaut und das Herausfinden der Abhängigkeiten extrem schwierig ist.

Das zweite Problem liegt darin, daß viele dieser Variablen und insbesondere die Medien Pfad-Variable nur relativ zum aktuellen Arbeitsverzeichnis (unter Annahme, daß es sich dabei um das Verzeichnis handelt, das die ausführbaren Installationsroutinen enthält, die Netscape aufruft) festgelegt sind. Leider, wenn man die Installation mittels eines Install-Objekts versucht, wird das aktuelle Arbeitsverzeichnis nicht richtig aufgelöst, heißt, der Feature-Installer kann die Produktdateien nicht finden, egal wo er nachschauen sollte.

Möglicherweise kann man dieses Problem beheben, indem man genügend Variablen so überschreibt, daß sie auf den richtigen Ort weisen. Ich habe jedoch nicht genügend Zeit für Versuche aufgewandt, alle Variablen-Abhängigkeiten abzuändern damit es funktioniert.

Aus diesem Grunde, wenn Sie Java 1.1.8 ohne den Netscape installieren wollen, empfehle ich Ihnen die CLIFI-Methode einzusetzen (die letztlich in der Begleitdokumentation beschrieben ist) anstatt des Install-Objekts.

Übersetzung: Jürgen Gaida
Korrektur: Karl-Heinz Markus
Daten und Quellen

MAKEFI und READFI: http://hobbes.nmsu.edu/pub/os2/util/misc/makefi.zip
Feature Install entdecken Teil 1: Objekt-basierte Installation: http://de.os2voice.org/VNL/past_issues_DE/VNL1007/feature_2.html