home *** CD-ROM | disk | FTP | other *** search
-
- GCompare / GPatch 2.0
- ---------------------
-
- Autor: Ralf Gruner, An der Sense 5a, D-02779 Gro▀sch÷nau
- ralf.gruner@t-online.de
-
-
- GCompare ist ein Programm zum Erzeugen von Patch-Dateien fⁿr den Vertrieb
- von Updates irgendwelcher Programme oder anderer Dateien.
-
- GPatch dient dazu, diese Updates auszufⁿhren.
-
- Natⁿrlich wei▀ ich, da▀ es bereits wenigstens einen brauchbaren
- Patch-Generator fⁿr den Amiga gibt. Aber als ich ein Patch-Programm fⁿr meine
- DCF77-Software brauchte, besa▀ ich SAS-C (und damit scompare) noch nicht, und
- das Freeware-Programm, das ich im Aminet gefunden hatte, hat als erstes einen
- Absturz meines Rechners verursacht und sich damit sofort disqualifiziert.
- Deshalb habe ich also einen neuen Patcher geschrieben.
-
- Die wesentlichen Eigenschaften sind:
- »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
- -Die Patch-Datei kann Patches fⁿr eine beliebige Anzahl von Dateien enthalten.
- Dadurch ist es m÷glich, Updates fⁿr mehrere Versionen eines Programms
- zusammen zu vertreiben. Wenn sich die Verzeichnis-Struktur des Produktes
- nicht geΣndert hat, findet der Patcher selbstΣndig die ben÷tigten Patches,
- ohne da▀ sich Ihr Skript darum kⁿmmern mu▀.
- Au▀erdem k÷nnen Sie die Patches fⁿr verschiedene Dateien in einer einzigen
- Patch-Datei unterbringen.
-
- -Das Format der Patch-Datei ist bezⁿglich der Dateigr÷▀e aufwendig optimiert.
- GCompare testet mehrere verschiedene Kodierungsarten und wΣhlt diejenige aus,
- die das kⁿrzeste Resultat liefert.
- Obwohl ich nicht allzuviele Σhnliche Programme kenne, m÷chte ich behaupten,
- da▀ GCompare in den meisten FΣllen die kⁿrzesten Patchdateien aller
- verfⁿgbarer Patchprogramme erzeugt.
-
- -Um zu verhindern, da▀ beim Anwender beschΣdigte Dateien ankommen, enthalten
- die Programme eine sehr zuverlΣssige Fehlererkennung (32-Bit-CRC-Signaturen
- fⁿr alle Dateien). Wenn keine Fehlermeldungen auftreten, dann k÷nnen Sie
- sicher sein, da▀ die Ergebnisse des Patch-Vorgangs perfekt sind.
-
-
- Benutzung:
- »»»»»»»»»»
- GCompare und GPatch sind Shell-Befehle.
-
- Syntax:
-
- GCompare <alte Datei> <neue Datei> <Patchdatei> [mode <n>] [quick]
-
- GPatch <alte Datei> <Patchdatei> <neue Datei>
-
- Wenn GCompare eine bereits bestehende Patchdatei findet, dann hΣngt es die
- Patches an diese Datei an.
-
- GPatch wΣhlt die passenden Patches anhand der DateilΣnge und der CRC-Signatur
- aus.
-
- Wenn die Programme keine Fehlermeldungen ausgeben, dann waren die jeweiligen
- VorgΣnge erfolgreich. Schwerwiegende Fehler werden immer von einem
- Return-Code gr÷▀er als 10 begleitet.
-
- Die Argumente "mode" und "quick" wΣhlen die Betriebsart aus:
- Ohne Angabe einer Betriebsart wΣhlt GCompare selbstΣndig das optimale
- Dateiformat aus.
- Mit dem Argument "mode" k÷nnen Sie das Dateiformat direkt angeben, und
- "quick" ist eine schnelle Betriebsart fⁿr sehr gro▀e Dateien.
- Die m÷glichen Werte fⁿr <n> nach "mode" sind 1 bis 4.
-
- GCompare braucht genug Arbeitsspeicher, um die alte, die neue und die
- Patchdatei gleichzeitig im Speicher halten zu k÷nnen.
- Wenn GCompare nicht genug Speicher fⁿr seinen Listen-Suchalgorithmus findet
- (ca. 10 mal die Dateigr÷▀e der alten Datei), arbeitet es nur noch in der
- Betriebsart 3 (die nur lineare Suche ben÷tigt).
-
-
- Als Beispiel fⁿr die Anwendung der Patchprogramme habe ich Skripts fⁿr das
- Erzeugen und Anwenden einer Patch-Datei eines fiktiven Programms beigelegt.
- In dem Beispiel wird davon ausgegangen, da▀ verschiedene Σltere Versionen
- des Programms "MyProgram" in einem Archiv namens "Archive" liegen. Der Patch
- fⁿr das Programm und eine Anleitung "MyProgram.readme" wird in diesem
- Beispiel direkt auf der Programmdiskette "MyProgram" ausgefⁿhrt.
-
-
- Diskussion und Hinweise zur Benutzung:
- »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
- Inzwischen habe ich eine ganze Menge Mails mit Kommentaren zur Geschwindigkeit
- und der Gr÷▀e der resultierenden Patchdatei erhalten.
- Einige fanden die Patchdatei viel kleiner als die anderer Patcher,
- andere wiederum nicht, und allen ist das Compare-Programm nicht schnell genug.
-
- Da es nicht m÷glich ist, ein Dateiformat fⁿr die Patchdatei zu entwickeln, das
- in allen FΣllen das kⁿrzeste Ergebnis liefert (die Gr÷▀e der Datei hΣngt vom
- Abstand der passenden Daten ab und der Art und Weise, diesen Abstand zu
- adressieren), hat GCompare vier verschiedene Algorithmen.
- Der Optimierer wΣhlt das beste Format aus, was aber etwa die 4-fache
- Rechenzeit braucht.
- Wenn Ihnen das zu lange dauert, dann k÷nnen Sie das Format mit dem Argument
- "mode" direkt angeben.
- In den meisten FΣllen liefert "mode 1" ein gutes Ergebnis. Wenn dabei fⁿr
- gro▀e Dateien GCompare zu lange rechnet, dann k÷nnen Sie "mode 3" benutzen.
- Das Argument "quick" schaltet die schnellste Suche ein, aber dann wird die
- Patchdatei deutlich gr÷▀er.
-
- Wenn Sie die Ergebnisse von GCompare mit denen anderer Programme vergleichen
- wollen, sollten Sie das auch mit komprimierten Versionen der Patchdateien tun.
- GCompare besitzt keine eingebaute Kompression (im Gegensatz zu anderen
- Vergleichsprogrammen mit LauflΣngenkompression), weil ich denke, da▀ alle
- Vertriebsdateien vor ihrer Ver÷ffentlichung ohnehin komprimiert werden und
- Programme wie lha oder lzx es wahrscheinlich besser k÷nnen.
-
-
- Und zur Geschwindigkeit: Es gibt wirklich keinen Weg, GCompare wesentlich
- schneller zu machen. GCompare sucht passende Daten in der gesamten alten Datei
- (und nicht nur in einem Relativbereich wie andere Patchprogramme).
- Wenn Sie wirklich nicht so lange warten k÷nnen, dann sollten Sie den
- "quick"-Modus benutzen.
-
-
- Vertrieb:
- »»»»»»»»»
- GCompare und GPatch sind Freeware. Sie k÷nnen beliebig eingesetzt werden,
- einschlie▀lich der Anwendung fⁿr kommerzielle Programme.
-
- Wenn Sie aber Wert auf zukⁿnftige Updates legen, dann senden Sie mir bitte
- eine eMail, damit ich wei▀, da▀ es ⁿberhaupt Benutzer der Programme gibt.
- Es gibt immer noch einiges zu verbessern, aber die Zeit dafⁿr nehme ich mir
- nur, wenn es auch jemand braucht.
- Die ─nderungsliste der Programme finden Sie in der englischen Anleitung.
-
- Und (wer's lesen will):
-
- Rechtliches
- »»»»»»»»»»»
- Bei der Entwicklung der Software wurde mit allergr÷▀ter Sorgfalt vorgegangen.
- Trotzdem sind Fehler nicht vollstΣndig ausgeschlossen. Der Autor ⁿbernimmt
- keine Haftung fⁿr SchΣden, die direkt oder indirekt auf die Benutzung
- seiner Programme zurⁿckzufⁿhren sind.
-
-
- Ralf Gruner
-
-