Virtual OS/2 International Consumer Education
VOICE Homepage: http://de.os2voice.org
November 2001

[Inhaltsverzeichnis]
[Vorherige Seite] [Nächste Seite]
[Artikelverzeichnis]

editor@os2voice.org


Händische Installation von Win32-Applikationen unter Odin - Teil 3

Von Herwig Bauernfeind © November 2001

Nach einem Einschub aus aktuellen Anlaß beim letzten Mal, fahre ich diesmal mit der angekündigten Serie über die händische Installation von Win32-Programmen unter Odin fort.

3. Ausgepackt - wie kommt jetzt alles an den richtigen Platz?

Vorab, erstmal ein wesentlicher Hinweis: Windows kann auf FAT16 lange Dateinamen lesen und schreiben. OS/2 kann das nicht. Man sollte also jedenfalls auch unter OS/2 ein Dateisystem verwenden, welches lange Dateinamen beherrscht, also entweder HPFS, HPFS386, JFS oder Henk Kelders FAT32. Ansonsten scheitert schon ein hoher Prozentsatz aller Installationsversuche alleine an den Dateinamen.

Wenn man nun einem Installationspaket erfolgreich händisch zu Leibe gerückt ist und den ganzen Inhalt in ausgepackter Form vor sich liegen hat, stellt sich klarerweise die Frage, wohin jetzt mit dem ganzen Zeug?

Grundsätzlich muß man ein paar Dinge über Windows wissen, um einigermaßen erfolgreich ans Werk zu gehen. Es kann auch nie schaden, wenn man das Programm zuerst einmal unter einem richtigen Windows installiert und sich ansieht, wo dort die Dateien landen. Für das Programm selbst ist das meist nicht so schwierig festzustellen, in aller Regel fragt die Installationsroutine nach einem Verzeichnis, in das das Programm kopiert werden soll. In diesem werden allenfalls noch Unterzeichnisse erstellt und mit diversen Dingen gefüllt. Das ist grundsätzlich nicht anders als unter OS/2 auch.

Man muß nun diesen Verzeichnisbaum unter OS/2 in Handarbeit nachbauen. Ich kann nur davor warnen, den gesamten Programmverzeichnisbaum blind von Windows nach OS/2+Odin zu kopieren, und zwar deshalb weil viele Programme beim ersten Start Dateien anlegen in denen Verweise auf Laufwerk etc. hinterlegt sind. Kopiert man diese gleich mit, glaubt die Applikation unter Odin sie sei hier schon mal gelaufen. Wenn Laufwerk und/oder Verzeichnis unter Odin jedoch anders lauten, ist früher oder später Endstation weil viele Dinge dann einfach nicht dort liegen wo sie erwartet werden.

Das Problem dabei ist jedoch, daß im Gegensatz zu unserer OS/2-Welt, die meisten Programme Dateien auch noch an anderen Stellen im System ablegen:

1. Programmdateien im Windows-Systemverzeichnis:

Während es unter OS/2 nur ganz selten vorkommt, daß ein Programm eine oder mehrere DLLs unter x:\OS2\DLL ablegt, ist es unter Windows üblich, dass jedes Programm einen ganzen Haufen solcher Dateien unter x:\Windows\System oder x:\WinNT\System32, also im sogenannten Windows Systemverzeichnis, ablegt.

Ein einfacher, praktischer Tip, um ohne größere Hilfsmittel festzustellen, welche Dateien im Windows-Systemverzeichnis dazugekommen sind: Man nehme den Befehl attrib zu Hande, bekannt auch unter OS/2 und setze via

attrib -a *.*
im Windows-Systemverzeichnis das Archiv-Bit aller Dateien zurück.

Installiert man nun das Programm, haben alle gerade geschriebenen oder ersetzten Dateien im Systemverzeichnis das Archiv-Bit wieder gesetzt und man kann

xcopy *.* /A
benutzen, um diesen Satz Dateien an einen sicheren Platz zu räumen (noch nicht in das Odin-Systemverzeichnis x:\ODIN\SYSTEM32).

Vorsicht! Unter Windows ist es üblich (ich habe es schon einmal erwähnt), dass viele Programme Teile des Betriebssystems ersetzen. Bevor man also die soeben gesicherten Dateien blind ins x:\ODIN\SYSTEM32 Verzeichnis kopiert muß man solche jedenfalls aussortieren, die Odin schon mitbringt. Hat man nun solche faule Eier aussortiert kann man den Rest ins Odin-Systemverzeichnis kopieren.

2. Das Verzeichnis C:\Programme\Gemeinsame Dateien

[Anm. für den Übersetzer: Auf English C:\Program Files\Common Files]

Der Zweck dieses Verzeichnisbaumes (den man unter Windows in aller Regel nicht händisch wählen kann) ist, Dateien die unter Umständen von mehreren Programmen benutzt werden zentral nur einmal im System abzulegen. Dies ist eine standardisierte Organisation, die unter OS/2 (leider) keine Entsprechung hat (zählen Sie einmal nach wie oft Sie die Datei VROBJ.DLL auf Ihrem System an verschiedenen Orten liegen haben!).

Auch hier kann man den Trick mit attrib anwenden, allerdings muß man diesmal im Verzeichnis C:\Programme\Gemeinsame Dateien stehend

attrib -a *.* /S
benutzen, da in diesem Fall auch alle Unterverzeichnisse mit behandelt werden müssen. Danach kann man mit
xcopy *.* /A /S
wiederum alle neuen oder geänderten Dateien wegsichern (diesmal unter Beibehaltung der Verzeichnisstruktur).

Bei der Installation legt Odin ein entsprechendes Verzeichnis auch unter OS/2 an. Es heißt immer x:\Program Files\Common Files, es gibt (naturgemäß) keine anderen Sprachvarianten unter Odin. Genau in dieses Verzeichnis muß man nun den von Windows gesicherten Verzeichnisbaum kopieren.

Nun sollten theoretisch alle Dateien, die ein Programm mitbringt, auch unter Odin am richtigen Platz sein:

Grundsätzlich kann ich nicht ausschließen, das manche Programme Dateien auch noch woanders hin schmeißen, aber die meisten Fälle sollten so abgedeckt sein.

Was aber, wenn kein Windows zum Probeinstallieren zur Verfügung steht? Dann sieht es, ehrlich gestanden, ziemlich duster aus mit einer händischen Installation.

Die einzigen Anhaltspunkte liefert in so einem Fall das Install-Skript, wobei dieses normal nur bei Installshield-Paketen zugänglich ist, nämlich in der Datei Setup.INS. Im ersten Teil dieser Serie habe bei den Entpackern auch einen Skript-Decompiler aufgeführt, isdcc21. Die Bedienung ist einfach:

pec isdcc21 Setup.Ins > Script
Nach meiner Erfahrung läßt sich pec auch verwenden, wenn Win32K.SYS installiert ist. Das wird vom Team Odin jedoch nicht empfohlen. Hat man obige Zeile ausgeführt, liegt einem das Script als normales Textfile vor, allerdings hat es sehr schnell eine Größe von einigen Tausend Zeilen.

Die Sprache, in der die Skripte geschrieben sind, ist ein BASIC-Derivat, wie die meisten Skriptsprachen in der Windows-Welt. Grundsätzlich bekommt man alle Informationen daraus, die man braucht, aber insbesondere die Dateiverteilung daraus zu ermitteln ist extrem mühsam.

Ich würde ziemlich weit gehen, um an eine Windows Installation zum Probeinstallieren zu kommen, bevor ich das Skript durchackere, denn Utilities hiefür gibt's unter OS/2 nicht. Wenn ich es trotzdem muß, würde ich die Textversion des guten alten HyperView (HV.EXE, erwähnt im ersten Teil dieser Serie) dazu benutzen.

Gerade zum Zusammenklauben der Dateien ist das Skript ein sehr schwaches Hilfsmittel, weil eine gezielte Suche kaum möglich ist (Nach was denn? Nach Dateinamen. Ja, aber welche? ...). Wir werden uns diesen Skripten auch noch im nächsten Teil widmen wenn es um die Registry gehen wird.

Im Großen und ganzen halte ich die händische Installation ohne ein echtes Windows zur Hand zu haben zwar für prinzipiell möglich, aber praktisch für unmöglich, insbesondere wenn es um größere Programmpakete geht.

Hat man nun (mit oder ohne Windows) alle Dateien an ihren Platz gebracht, kann man, insbesondere bei kleineren Programmen durchaus schon jetzt einmal versuchen, das Programm zu starten, weniger in der Erwartung, daß es schon laufen wird, sondern um sich einmal die Fehlermeldungen anzusehen.

Im nächsten Teil werde ich mit der Registry auseinandersetzen und wie man nun noch die richtigen Einträge herausfindet und sie von Windows nach OS/2/Odin migriert.

Quellenverzeichnis:

Das Netlabs Odin Projekt - http://odin.netlabs.org/
Wöchentliche Odin Builds - ftp://ftp.os2.org/odin/Weekly//
Tägliche Odin Builds - ftp://ftp.os2.org/odin/daily//
Odin Mailingliste für Anwender bei Yahoo! - http://groups.yahoo.com/group/odinusers


[Artikelverzeichnis]
editor@os2voice.org
[Vorherige Seite] [Inhaltsverzeichnis] [Nächste Seite]
VOICE Homepage: http://de.os2voice.org