home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Boston 2
/
boston-2.iso
/
DOS
/
HILFEN
/
TEXTE
/
LZEXE
/
LZEFIX.DOK
< prev
next >
Wrap
Text File
|
1993-12-01
|
9KB
|
217 lines
LZEFIX.EXE
Version 2.1
Eine Benutzeroberfläche für das LZEXE-Kompressionsprogramm.
Reduziert automatisch den durch die mit
LZEXE vorgenommene Kompression erforderlichen Speichermehrbedarf
und stellt Datums- und Zeitangabe der komprimierten Datei wieder
her.
Copyright 1990
Life Sciences Editorial Services
Annapolis, Maryland 21401
(Stand des Dokuments 7. März 1990)
Autor: Pete Petrakis
CIS 76555,1175
BESCHREIBUNG
LZEFIX ist gedacht als Ergänzung zu LZEXE, einem Komprimierungs-
programm für EXE-Dateien, das den Platzbedarf für solche Dateien
auf Diskette bzw. Festplatte reduziert, in einem Maße vergleichbar
den mit Programmen wie PKZIP oder LHARC erreichbaren Ergebnissen.
Der Unterschied zwischen LZEXE und den anderen Komprimierungspro-
grammen ist der, daß die mit LZEXE behandelten Programme lauffähig
bleiben. Reduzierung des Platzbedarfs zwischen 30 und 40 Prozent
sind dabei typisch. Der Zeitbedarf für die Entkomprimierung ist
vernachlässigbar klein. LZEXE ist erhältlich in den IBMSYS- und
MSSYS-Foren von CompuServe und in vielen anderen Mailboxen.
LZEFIX behebt ein Problem beim Einsatz von LZEXE, nämlich die Ten-
denz, daß mit LZEXE komprimierte Programme mehr Platz im Arbeits-
speicher zum Laden und Ablauf benötigen als vor der Komprimierung.
Dies tritt bei der 'provisorischen' Version 0.90 von LZEXE auf.
Mit Programmen kleinerer oder mittlerer Länge gibt es normaler-
weise keine Probleme, bei großen Programmen kann es jedoch vorkom-
men, daß das Programm nicht mehr läuft.
Es hat sich herausgestellt, daß dieser erhöhte Platzbedarf bei den
meisten Programmen unnötig ist. Ich habe eine Methode ausgearbei-
tet die es ermöglicht, den Platzbedarf beim Laden von mit LZEXE
behandelten Programmen erheblich zu verringern. Dazu wird
Microsoft's EXEMOD.EXE benötigt, mit dem man den Header von EXE-
Dateien verändern kann. Die Methode, mit der man die im Header von
mit LZEXE komprimierten Dateien enthaltenen Informationen von Hand
ändern kann, habe ich in einer Textdatei 'LZEMEM.ZIP' im MSSYS-
Forum von CompuServe beschrieben.
Der Sinn von LZEFIX ist es nun, diesen Prozeß der Komprimierung
mit LZEXE und die anschließende Einstellung des Platzbedarfs beim
Laden zu automatisieren. Dazu brauchen Sie die Programme LZEXE.EXE
und EXEMOD.EXE. Die Programme müssen nicht im gleichen Verzeichnis
stehen, vorausgesetzt sie sind dann über den Systempfad erreich-
bar.
LZEFIX ruft LZEXE und EXEMOD durch eine Shell auf und liest dabei
Informationen, die diese Programme auf dem Bildschirm anzeigen.
Besonders die Ausgaben von EXEMOD sind dabei wichtig. LZEFIX be-
nutzt diese Informationen, um den Header des komprimierten Pro-
gramms zu ändern - mit Hilfe von EXEMOD.
Am Ende des Durchgangs schreibt LZEFIX eine Zusammenfassung, der
Sie die erzielte Kompressionsrate sowie vorgenommene Änderungen
entnehmen können.
Normalerweise ist der Platzbedarf einer mit LZEFIX behandelten
EXE-Datei kleiner als vor der Kompression.
ÄNDERUNGEN IN VERSION 2.1
LZEFIX 2.1 ist eine gründlich überarbeitete Version, die schneller
und kompakter ist. Mit Ausnahme der Ausgaben der Programme LZEXE
und EXEMOD, die ihre Bildschirmausgabe selbst verwalten, sind die
Bildschirmanzeigen fast augenblicklich. Etwas Farbe ist auch dazu-
gekommen. Die neue Version behebt einen Fehler von LZEXE: die An-
gewohnheit, der komprimierten Datei das aktuelle Datum und die ak-
tuelle Zeit zu geben. Da viele Benutzer jedoch bei der komprimier-
ten Datei gleiches Datum und Zeit haben möchten wie beim Original,
speichert LZEFIX die ursprünglichen Angaben zwischen und schreibt
sie vor Verlassen des Programms zurück. Diese Änderungen gab es
zwar schon in der Version 2.0, dort arbeiteten sie aber nicht kor-
rekt, wenn das Programm mit der Option /U aufgerufen wurde (siehe
nächster Abschnitt). Dieses Problem ist in dieser Version behoben.
BEDIENUNG DES PROGRAMMS
Wie erwähnt, wenn Sie LZEXE, EXEMOD und LZEFIX (oder deren Ver-
zeichnisse) nicht im Systempfad haben, müssen Sie alle drei Pro-
gramme im gleichen Laufwerk und Verzeichnis wie die umzuwandelnde
EXE-Datei haben.
Zum Aufruf des Programms geben Sie folgenden Befehl:
LZEFIX [EXE-Dateiname]
Das ist alles.
Wenn Sie versuchen, eine bereits mit LZEXE komprimierte Datei er-
neut zu komprimieren, bricht LZEFIX mit einer Fehlermeldung ab.
Wenn Sie eine COM-Datei komprimieren wollen, bricht das Programm
ebenfalls mit einer Fehlermeldung ab.
DIE ERGEBNISSE VON LZEFIX RÜCKGÄNGIG MACHEN
Die Änderungen, die LZEFIX mit Hilfe von EXEMOD im Header von EXE-
Dateien vornimmt, haben mit einer großen Zahl von Programmen, die
ich getestet habe, funktioniert. Der Speicherplatzbedarf des kom-
primierten Programms wird erheblich reduziert, meistens unter den
Bedarf vor der Komprimierung. Es ist jedoch möglich, daß die stan-
dardmäßig vorgenommenen Änderungen bei einigen Programmen dazu
führen, daß sie nicht mehr lauffähig sind.
Zum Beispiel weiß ich, daß WordPerfect 5.0 mit LZEXE komprimierbar
ist und auch lauffähig bleibt, Version 4.2 (aus unerfindlichen
Gründen) jedoch nicht. Nach Änderung des Headers von WP 5.0 läuft
das Programm normal - mit einer Ausnahme: Sie erhalten die Fehler-
meldung "not enough memory", wenn Sie versuchen eine große Datei
auszudrucken (kleine Dateien sind ok). Also sollten Sie die Ein-
stellungen für WP 5.0 nach der Komprimierung nicht ändern. Dies
bedeutet aber auch, daß Sie ALLE Funktionen eines mit LZEFIX kom-
primierten Programms überprüfen sollten. Eine bloße Kontrolle, ob
das Programm sich noch laden läßt, ist manchmal nicht genug, vor
allem bei großen und komplexen Programmen.
Ich habe jedoch auch eine Reihe von kleineren Programmen entdeckt,
die nach einer Änderung durch EXEMOD nicht mehr korrekt laufen.
Da also die Änderungen durch EXEMOD die Funktionalität eines Pro-
gramms beeinträchtigen können, habe ich eine Möglichkeit vorgese-
hen, diese Änderungen bei Bedarf rückgängig machen zu können.
Dazu geben Sie folgenden Befehl:
LZEFIX /U [Dateiname]
** Achtung: Benutzen Sie die Option /U nur mit einer komprimierten
Datei, und auch nur einmal! **
Ich kann nicht sagen wie oft diese Option gebraucht werden wird,
aber nachdem ich LZEFIX auf eine große Zahl von Programmen ange-
wandt habe, kann ich sagen: nicht sehr oft. In den meisten Fällen
arbeiten die komprimierten Programme beim erstenmal korrekt, oder
überhaupt nicht. Daß ein Programm nur 'halb und halb' funktio-
niert, ist ungewöhnlich.
Die falsche Einstellung des Speicherbedarfs eines komprimierten
Programms ist aber nicht die einzige Möglichkeit, wenn ein solches
Programm nicht läuft. Es gibt z.B. Programme, die ihren eigenen
Code modifizieren, Checksummen berechnen oder Overlays benutzen.
Auch können Programme einfach zu groß für eine Kompression sein
(siehe auch die Originaldokumentation zu LZEXE von Fabrice Bel-
lard).
VERTEILUNG
LZEFIX darf frei weitergegeben werden, vorausgesetzt es wird nicht
verändert. Auch darf kein Geld dafür verlangt werden.
HAFTUNG
Pete Petrakis übernimmt keine Verantwortung oder Haftung für alle
Schäden, die durch den Gebrauch von LZEFIX entstehen. Zum Schutz
vor Datenverlust sollten Sie eine Sicherungskopie des Programms
machen bevor sie LZEFIX darauf anwenden.