BinPatch Classic V3.0
(14. öffentliches Release für DOS/Win3.1, Win95/ NT, OS/2 und Linux am 14-Feb-99)

Inhaltsangabe für dieses Dokument:

 


Kapitel: BinPatch im Überblick

BinPatch ist ein Software-Paket, das aus zwei elementaren Bestandteilen zum Erstellen von Software-Aktualisierungen (Updates) besteht: Mit GenPatch erzeugen Sie sog. Patchdateien und mit DoPatch wenden Sie sie an. Die Patchdatei enthält die Unterschiede der ausgewählten Quellen und Ziele und läßt die Teile der Dateien weg, die schon vorhanden sind. Sie erstellen entweder ausführbare Programmdateien, die sich beim Starten als gewöhnliches Programm auf die vorgesehene Software anwenden, oder Sie erzeugen "einfache" Patchdateien, die Sie mit Hilfe von DoPatch anwenden. Möchten Sie mit nur einer einzigen Patchdatei ganze Verzeichnishierachien aktualisieren, dann wählen Sie ruhig mehrere mögliche Ausgangs-Zustände. BinPatch erledigt das für Sie. Wenn Ihre Software es erfordert, erledigt die Patchdatei auch die Übernahme der vorhandenen Seriennummern beim Aktualisieren der Software.

Vergleichen Sie die Dateigröße der vollständigen Dateien und der von BinPatch erzeugten Patchdatei, dann erkennen Sie das Hauptargument, warum BinPatch sinnvoll ist. Mit ihm können Sie Multimegabyte-Software mit nur wenigen Kilobytes aktualsieren, die in wenigen Sekunden aus dem Internet zu laden, oder bequem per Email zu versenden sind.

Im allgemeinen ändern sich bei Programmen von Version zu Version jeweils nur wenige Teile. Vieles, was durch den Compiler vorgegeben ist, ändert sich nicht oder nur minimal. Gerade bei Windows-Programmen ist dieser Anteil recht hoch. Es ist immerwieder überraschend, wieviel BinPatch in der Praxis einspart. Beachten Sie aber, daß BinPatch nicht auf gepackten oder verschlüsselten Daten arbeiten kann. (Die Packer erzeugen  vollkommen unterschiedliche Archive, so daß BinPatch hier nicht greifen kann.)  Archive müssen daher entpackt sein und generell ist es die Philosophie von BinPatch, lebendige Installationen zu aktualisieren und dem Benutzer komplette Neuinstallationen zu ersparen.


Kapitel: Anwendungs-Beispiele von BinPatch

Der Vorteil, den BinPatch gegenüber der  Übertragung einer vollständigen neuen Version bietet, wird anhand von Beispielen schnell deutlich.

Beipiel A: Der kleine Bugfix.

Sagen wir, Sie hätten gerade eine Version Ihrer Software veröffentlicht, die einen Fehler (Bug) enthält. Nur kleine Änderungen wären nötig, um das Problem zu beheben, aber Sie müßten dennoch erneut eine vollständige Version an Ihre(n) Kunden senden. Das kann sehr kostenintensiv werden, wenn Sie es auf dem normalen Postweg erledigen. Via Email ist es vermutlich nicht möglich, weil das Software-Paket in der Regel dazu viel zu groß sein wird. Wie auch immer, wenn Sie stattdessen eine Patchdatei an Ihre Kunden senden, dann hat das Vorteile:

Darstellung A: Kleiner Bugfix einer Windows-Software
Volles Installations-Programm 1570kB *********************************************************
Ausführbare Patchdatei

40kB

**
Einfache Patchdatei

1.7kB

*

Beipiel B: Das Software-Update.

Sagen wir, Sie haben eine neue Version zur Veröffentlichung vorbereitet. Sei es als Endkunden-Update oder als Einleitung eines neuen Beta-Test Zyklus. Nun steht zur Debatte, wie exstierende Kunden, Ihre alte Version aktualisieren können. Wiederum bieten sich Patchdateien an:

Darstellung B: Software-Update einer handelsuuml;lichen Windows-Software
Volles Installations-Programm 1570kB *********************************************************
Ausführbare Patchdatei

134kB

********
Einfache Patchdatei

99kB

***

Der Vorteil der Patchdatei stellt sich hier für Betatester so dar, daß Sie die neue Version gleichzeitig mit der Email, die Sie ankündigt erhalten und sofort aktualisieren oder sich über das Internet kurz den kleinen Patch downloaden können. Die Neu-Installation wird vermieden, die Arbeit mit der neuen Version kann unverzüglich beginnen und Fehler werden schneller gemeldet, schneller behoben und das fertige Produkt ist schneller am Markt.

Für den normalen Endkunden gelten die schon in Beispiel A genannten Vorteile und zusätzlich die vereinfachte Installation. Außerdem können Sie Updates über öffentliche Kanäle zugänglich machen und sicher sein, daß nur rechtmäßige Besitzer der Vorversionen Sie auch anwenden können. Ohne diese Vorraussetzung ist die Patchdatei nicht anwendbar.

Solange Sie keine großen neuen Komponenten hinzufügen, bleibt die Dateigröße der Patchdatei ein recht konstanter Faktor. Das liegt daran, daß die meisten Änderungen der ausführbaren Datei auf typische Linker-Optimierungen und zu veränderten Referenzen auf neue globale Objekt-Positionen zurückzuführen sind. Aber das Hinzufügen oder Neuschreiben von Routinen in der Software führt dagegen nur zu vergleichsweise wenigen neuen Bytes. Daher ist obiges Ergebnis repräsentativ für praktisch jedes normale Update.

Bedenken Sie die Ersparnis an Zeit und Geld für Ihre Firma, das gesteigerte Image Ihrer Firma und die Vermeidung von Fehlern bei der Neuinstallation bei Ihren Kunden.

Mit derartig kleinen Updates können Sie durchaus sehr viel häufiger Test-Versionen veröffentlichen und damit schneller auf Rückmeldungen reagieren. So motivieren Sie Ihre Tester wiederum zu mehr Engagement, weil Ihre Eingaben ernst genommen werden. Dadurch werden Ihnen mehr Probleme bekannt und die Qualität des Produktes wird zügig gesteigert, obwohl es schneller am Markt ist. In der heutigen Zeit sind kurze Produktzyklen essentiell und ein primärer Vorteil gegenüber einer Konkurrenz, die diesen Vorteil nicht für sich nutzt.


Kapitel: Schnellstart-Anleitung

Wir raten Ihnen dringend auch das Kapitel "Fortgeschritte Fähigkeiten von BinPatch" zu lesen. Denn dieses Kapitel deckt nur die ganz grundlegende Funktionalität von BinPatch ab, die natürlich an sich schon machtvoll ist. Aber viele weitergehende Fähigkeiten, die wirklich sehr einfach einzusetzen sind und Schritt für Schritt erlernt werden können, würden Ihnen verborgen bleiben.

Erzeugen und Anwenden von einfachen Patchdateien.

BinPatch kann auf ganzen Verzeichnissen arbeiten, aber die einfachste Anwendung ist das Erstellen eines Patches von einer Datei auf eine andere. Nehmen wir an, wir haben zwei Dateien ALT.EXE und NEU.EXE und Sie wollen einen Patch erstellen, der aus der Datei ALT.EXE die Datei NEU.EXE erstellt. Dann ist alles, was Sie GenPatch dazu mitteilen müssen eben diese Dateinamen und ein Name für die Patchdatei, sagen wir "ALT2NEU" für diesen Fall. Vorausgesetzt, daß GenPatch im Systempfad ist, reicht also aus:

> GenPatch ALT.EXE NEU.EXE ALT2NEU

und Sie haben Ihre Patchdatei.

Normalerweise hat die Patchdatei die Dateiendung ".utp", die anzeigt, daß es sich um eine einfache Patchdatei handelt. Um eine ausführbare Patchdatei, also ein Update-Programm, zu erzeugen, müssen Sie nur eine weitere Option angeben. Wählen Sie "-s" für ein Kommandozeilen-Interface für Ihre Patchdatei oder "-s=gui" für eine Patchdatei mit einem richtigen Windows-Interface:

> GenPatch ALT.EXE NEU.EXE ALT2NEU -s=gui 

und schon haben Sie Ihre Patchdatei mit einem Windows-Interface zum ausführen parat. Das setzt natürlich voraus, daß Sie die DOS/Windows3.1 Version oder die Win32 Version von BinPatch benutzen. Diesmal hat die Patchdatei die Dateiendung ".exe" für ein ausführbares Programm, denn genau das haben Sie ja auch erzeugt.

Um Ihre Patchdatei anzuwenden, haben Sie mehrere Möglichkeiten. Wenn sie ausführbar ist, dann starten Sie sie einfach ganz normal wie jedes Programm und das reicht aus. Wenn es eine einfache Patchdatei ist, dann können Sie sich eine von mehreren Möglichkeiten aussuchen, jede mit etwas anderem Ergebnis:

> DoPatch ALT2NEU.UTP ALT.EXE PATCHED.EXE
> DoPatch ALT2NEU.UTP ALT.EXE
> DoPatch ALT2NEU.UTP -auto

Die erste Variante erzeugt eine neue Datei "PATCHED.EXE", indem die Patchinformation auf "ALT.EXE" angewendet wird. Das "ALT.EXE" selbst wird aber nicht weiter verändert.

Die zweite Variante verändert "ALT.EXE" direkt und ersetzt Ihren Inhalt durch Anwenden der Patchinformation. Nach dieser Anweisung enthält nunmehr die Datei "ALT.EXE" den Inhalt der bei der Patch-Erzeugung angegeben Datei "NEU.EXE".

Die letzte Variante ist insofern ein wenig anders, als sie die sog. "Autofind Fähigkeit" des DoPatch aktiviert. Diese durchsucht Ihre Festplatten nach einer geeigneten Datei, die als Ziel für die Patchdatei dienen kann. Ausführbare Patchdateien zeigen dieses Verhalten ebenfalls. Für die Win32 Plattform können Sie alternativ einen Registry-Key bei der Patcherzeugung angeben, so daß die Angabe des Ziels und das Durchsuchen der Festplatten unnötig wird. Diese Form des "Autofind" ist dann ohne spezielle Angabe automatisch aktiv, ein "-auto" ist daher nicht erforderlich.

Erzeugen und Anwenden von Verzeichnis-Patchdateien.

Ein typischer Fall für Software-Hersteller ist es, ganze Verzeichnisse oder sogar Verzeichnishierachien zu aktualisieren. In der Tat ist BinPatch auf diesen Fall sehr gut vorbereitet. Intern wird die Bearbeitung sehr viel komplexer, aber für den Benutzer bleibt die Sache transparent. Geben Sie lediglich Pfade von zwei Verzeichnissen statt wie oben Dateien an und BinPatch wird diese Verzeichnisse analysieren. Jede Ziel-Datei des Verzeichnisses wird einer möglichst gut passenden Quell-Datei zugeordnet, "Automatische Zuordnung" genannt. Um diesen Vorgang im Detail zu steuern gibt es sehr viele Möglichkeiten, aber im wesentlichen bleibt alles ganz einfach:

> GenPatch ALT NEU ALT2NEU

Auch beim Anwenden dieser Patchdateien ändert sich nichts. Es müssen lediglich Verzeichnisse statt Dateien angegeben werden. Um allerdings einen typischen Fehler zu vermeiden, ist es auch erlaubt, wenn man eine Datei eines Verzeichnisses angibt. Dann wird nämlich vorgeschlagen, die Patchdatei auf das Verzeichnis angezuwenden, das diese Datei enthält.


Kapitel: Patching Fähigkeiten von BinPatch im Detail

Einzelne Dateien oder komplette Verzeichnisse auf einmal.

Sie können mit GenPatch zwei verschiedene Arten von Patchdateien erzeugen. Der sog. "Dateipatch" verändert nur eine einzige Datei auf dem Rechner des Endkunden und mehr nicht. Sehr oft aber, möchten Sie mehrere Dateien, ja ganze Verzeichnisstrukturen auf einmal verändern. Dazu erzeugen Sie dann "Verzeichnis-Patchdateien". Obwohl das recht kompliziert klingt, ist es dank BinPatch sehr einfach. Wählen Sie als Start- und Endzustand Dateien oder Verzeichnisse. GenPatch überprüft, welchen Typs ihre Angaben sind und erzeugt die entsprechende Art von Patchdatei.

Wenn GenPatch Verzeichnisse bearbeitet, analysiert es das Endzustands-Verzeichnis und bearbeitet alle darin vorhandenen Dateien einzeln. Dank der "Automatische Zuordnung" genannten Fähigkeit von GenPatch erkennt es, welche Dateien in den Startzustands-Verzeichnissen als Vorlage zur Generierung einer Patchinformation für jede Datei im Endzustands-Verzeichnis in Frage kommen. Diese Erkennung ist unabhängig vom Dateinamen. Sie werden dieses Merkmal von BinPatch in der Regel extrem nützlich finden, da es doch automatisch auch Umbennungen für Sie handhabt, ohne daß Sie etwas "sagen" müssen. Manchmal möchten Sie aber auch nicht, daß eine best. Zuordnung vorgenommen wird, oder Sie wollen einige Dateien nicht benutzt sehen. In diesen Fällen lesen Sie bitte die Unterkapitel "Automatische Zuordnung der geeigneten Quell-Dateien", "Ignorieren von Dateien nach Mustern", "Angeben von Dateien, die nicht vorhanden sein müssen", "Erzwingung des Patchens von identischen Dateien".

Eine einzige Patchdatei aktualisiert mehrere Versionen.

Mit GenPatch können Sie Patchdateien erzeugen, die nur einen einzige Startzustand akzeptieren. Sie können aber auch genausogut Patchdateien erstellen, die auch mehrere Startzustände akzeptieren. Wenn Sie etwa die Versionen 1.0a und 1.0b auf 1.1 aktualisieren wollen, dann können Sie das mit nur einer einzigen Patchdatei machen, wobei der Kunde nicht wissen muß, welche Unterversion er denn nun hat.

Sie erreichen das, indem Sie einfach mehrere Startzustände angeben. Also statt "genpatch start ende patchname" würden Sie angeben: "genpatch start1 start2 start3 start4 ende patchname" um 4 verschiedene Startzustände mit nur einer Patchdatei zu aktualisieren. Diese Art von Patchdatei wird auch "Multiversion-Patchdatei" genannt.

Das Erzeugen von Multiversion-Patchdateien funktioniert auch für Verzeichnisse hervoragend. Bitte lesen Sie den Abschnitt "Einzelne Dateien oder komplette Verzeichnisse auf einmal". Dabei leistet Ihnen dann die automatische Zuordnung von End-Dateien und Ziel-Dateien eine besonders große Hilfe und für Dateien ist BinPatch immerhin noch in der Lage für Sie die optimale Reihenfolge der Startzustände selbst zu bestimmen, was "Automatische Anordnung der Patch-Reihenfolge" genannt wird.

Einfache oder ausführbare Patchdateien.

GenPatch erlaubt Ihnen Patchdateien zu erzeugen, die nur mit einem "DoPatch" angewendet werden können und auch solche, die einfach nur als Programm ausgeführt werden und als solche einen speziellen Patch auf ein Ziel anwenden. Natürlich sind solche Patchdateien nur für ein Betriebssystem ausführbar, aber Sie können durchaus unter DOS ausführbare Patchdateien auch mit einem DoPatch der Plattform Ihrer Wahl anwenden. Denn nicht nur das Format der Patchdateien von Betriebssystem zu Betriebssystem ist kompatiblel, sondern auch ausführbare Patchdateien und einfache Patchdateien sind kompatibel.

Natürlich wird eine ausführbare Patchdatei größer sein. Daher werden gemäß der Voreinstellung von GenPatch einfache Patchdateien erzeugt, die sich nicht selbst anwenden können. Für Ihre Betatests empfehlen wir Ihnen auch, diese Form von Patchdateien zu wählen und nur einmal zu Beginn des Betatests das passende DoPatch an die Tester zu geben. Für Updates empfehlen wir aber dringend die 16-30k (komprimiert) erhöhte Dateigröße in Kauf zu nehmen und sich alle DoPatch-Erklärungen zu sparen, zumal nicht so schnell mit einer Wiederholung zu rechnen ist.

Zum Erzeugen der ausführbaren Patchdatei geben Sie die Option "-s" des GenPatch an. Unter Windows können Sie zwischen einem Kommandozeilen-Interface oder einem grafischen Windows-Interface für Ihre Patchdatei wählen. Das grafische Windows-Interface ist noch ein wenig größer als das Kommandozeilen Interface, aber weil die Mehrzahl der Nutzer wohl Kommandozeilen-Fenster auf Ihrem Windows-Desktop nicht gewöhnt sind, empfiehlt es sich für reguläre Updates dieses Interface zu wählen.

Kommandozeilen oder grafisches Windows-Interface für die Patchdatei.

Wenn Sie eine ausführbare Patchdatei mit der GenPatch-Option "-s" erzeugen, dann erhalten Sie ein Kommandozeilen-Programm. Aber für die Windows-Plattform ist es ratsam, stattdessen die Option "-s=gui" anzugeben, denn dieses Interface wird einer Vielzahl von Benutzern wesentlich natürlicher vorkommen.

Das Windows-Interface ist verfügbar für Windows 3.1 und für Win32. The Option "-s=gui" wählt das plattformeigene Interface. Bei Genpatch für DOS erhalten Sie also ein Windows3.1 Interface und bei GenPatch für Win32 eines, daß nur unter Win32 (Windows 95/98/NT) lauffähig ist. Sie können bei GenPatch für Win32 mit "-s=gui16" explizit ein Windows3.1 Interface, das auch unter Win32 lauffähig ist, oder umgekehrt bei DOS auch mit "-s=gui32" ein grafisches nur-Win32 Interface erhalten.

Automatische Zuordnung der geeignesten Startdatei(en) für jede Datei eines Endzustandes.

Wenn Sie "komplette Verzeichnisse auf einmal" patchen, dann unterstützt Sie BinPatch mit einer Automatik, die für Sie jeder Datei den Endzustand-Verzeichnissen eine Datei in jedem Startzustand zuordnet. Dank einzigartiger Algorithmen, passiert das in einzigartig schneller Weise (praktisch nicht wahrnehmbar) und statt nur einfach Dateien gleichen Dateinamens zuzuordnen und Ihnen die Bürde aufzulasten, jede Veränderung selbst anzugeben, kann BinPatch anhand der ähnlichen Inhalte eine Zuordnung vornehmen, der bisher noch keine Fehler nachgewiesen werden konnten.

Natürlich kann es Situationen geben, wo Sie nicht wünschen, daß best. Dateien automatisch zugeordnet, oder daß einige Dateien überhaupt als Quellen in Betracht kommen. Dies kann etwa der Fall sein, wenn Sie nicht sicher sein können, daß zwei Dateien installiert sind. Dann können Sie mit der Option "-e=dateimuster" für solche Dateien die automatische Erkennung deaktivieren (mit "-e=*" auch für alle Dateien) oder alternativ gezielt Dateien nach Dateimustern ignorieren.

Handhabung von Unterverzeichnissen und neuen Dateien.

Beim Erstellen von Patchdateien für  "komplette Verzeichnisse auf einmal" stellt sich auch die Frage nach Unterverzeichnissen. Nun, diese Frage ist kurz beantwortet, denn Unterverzeichnisse werden grundsätzlicher immer mit einbezogen, es sei denn, sie ignorieren mittels eines Musters wie in "-i=*\*" alle Dateien in Unterverzeichnissen.

Neue Dateien werden grundsätzlich zunächst durch die "Automatische Zuordnung der geeignetesten Startdatei(en) für jede Datei eines Endzustandes" behandelt. So wird jede Möglichkeit ausgeschöpft, die Datei unter Bezugnahme auf eine andere Datei zu erzeugen und so Einsparungen zu erzielen. Umbenennungen werden auf elegante Weise automatisch erkannt. Nur wenn keine sinnvolle Möglichkeit zum Patchen existiert, wird eine Datei komplett eingebettet und beim Anwenden der Patchdatei extrahiert.

Falls noch nicht existent, werden neue Unterverzeichnisse beim Anwenden der Patchdatei erzeugt. Es gilt allerdings zu beachten, daß nur nicht-leere Verzeichnisse von GenPatch bearbeitet werden. Daher werden Verzeichnisse auch nur dann erzeugt, wenn tatsächlich Dateien darin zu bearbeiten sind.

Handhabung von unbenannten und modifzierten Dateien.

Beim Patchen von Verzeichnissen erkennt die "Automatische Zuordnung der geeignetesten Startdatei(en) für jede Datei eines Endzustandes" Umbennungen einer Datei automatisch. Damit die alte Version auch beseitigt wird, müssen Sie einfach nur die Automatische Beseitigung obsoleter Dateien aktivieren. Dann wird die Patchdatei auch die nichtmehr benötigte alte Fassung einer umbenannten, aktualisierten Datei entfernen.

Erlauben unbedeutende Datei nicht zwingend zu aktualisieren.

Es gibt Dateien in Ihrer Installation, die nicht von übergeordneter Bedeutung sind und von Benutzern, die das Erkennen auch gelöscht werden. Diese Dateien können dann nichtmehr als Vorlage eines Patchvorgangen dienen und der gesamte Patchvorgang wird daher dann nicht durchgeführt. Um das normalerweise recht "pingelige" alles-oder-nichts der Patchdateien abzuschwächen existiert die Option "-u=Dateimuster" mit der Sie Dateien angeben können, die nicht sehr wichtig sind, etwa "FILE_ID.DIZ" oder "NEUES.TXT". Eine Patchdatei würde dann warnen, daß diese Dateien nicht aktualsiert werden können, aber die weiteren wichtigen Dateien würden dennoch aktualsiert.

Dieses konservative Verfahren sichert Ihnen zu, daß keine "Zwischenversionen" mit nur teilweise aktualisierter Software entstehen, die dann höchstwahrscheinlich nicht korrekt laufen würden. Sie haben weiter die volle Kontrolle darüber, daß alle wichtigen Dateien auf einem Versionsstand bleiben, ein sehr wichtiger Punkt und Vorteil von BinPatch für Sie, den Sie gemäß Ihren jeweiligen Wünschen auflockern können.

Dateien nach Mustern ignorieren.

Sie werden vermutlich beim Arbeiten mit Verzeichnissen auch Dateien ignorieren wollen, da sie z.B. nicht eigentlich zum Programm gehören oder nicht durch die Patchdatei behandelt werden sollen. Das können ini-Dateien, selektiv installierte Daten-Dateien oder einfach alles sein, von dem Sie vermuten müssen, daß es irgendwie auf Kundenseite verändert worden sein könnte.

Um bestimmte Dateien zu ignorieren: Geben Sie einfach die Option "-i=dateimuster" oder "-i=dateiname" an. Dateien, die auf das Muster oder den Dateinamen passen, werden von der Bearbeitung durch GenPatch (und somit der Patchdatei) komplett ausgenommen. Dateimuster sind Dateinamen, möglichweise mit relativen Pfadangaben und Platzhaltern wie "*" und "?". Das Zeichen "*" steht für beliebig viele (auch keines) Zeichen und das "?" für genau ein beliebiges Zeichen, das aber kein Pfadtrenner ("\", "/") ist.

Um bestimmte Dateien nur in bestimmten Zuständen zu ignorieren: Geben Sie dann einfach die eine der Varianten der Option "-i" an. Mit "-if=dateimuster" ignorieren Sie z.B. nur Dateien im Endzustands-Verzeichnis. Mit "-is=dateimuster" werden nur Dateien in dem/den Startzustands-Verzeichnissen ignoriert. Wenn es mehrere Startzustände sind, dann können Sie mit der Option "-i3=dateimuster" gezielt Dateien im dritten Startzustand ignorieren (andere analog) und letztlich kann man auch Kombinationen wählen, also "-i1,f=dateimuster" oder "-i1,3=dateimuster" um nicht Optionen wiederholen zu müssen.

Um auch versteckte Dateien zu bearbeiten: Benutzen Sie die Option "-all" oder "-a", um GenPatch anzuweisen, auch nach diesen Dateien Ausschau zu halten. Ansonsten werden Sie einfach ignoriert. Die Option "-i" und seine Varianten hat allerdings höhere Priorität. Eine auf ein Dateimuster passende versteckte Datei wird durch "-all" also dennoch nicht bearbeitet.

Backup alter Datei Versionen beim Anwenden der Patchdatei.

Wenn eine Patchdatei auf ein Verzeichnis angewendet wird, werden für gewöhnlich auch Dateien in diesem Verzeichnis durch andere Versionen ersetzt. Um zu erlauben, das wieder rückgängig zu machen, werden die alten Versionen in ein Backup-Verzeichnis verschoben. Dieses Verzeichnis wird nach Voreinstellung "Backup" (im gepatchten Verzeichnis) sein, aber diese Voreinstellung können Sie mit "-backup=Verzeichnisname" ändern. Dabei dürfen durchaus auch Pfade der Art "Backup\V1.1" verwendet werden. Wir empfehlen eine solche Vorgehensweise sogar, wenngleich in der Mehzahl der Fälle das Backup nicht nötig sein wird, denn DoPatch stellt vor dem Patchen sicher, daß eine Patchdatei auch wirklich angewendet werden kann.

Zu "löschende" Dateien werden gleichfalls in das Backup-Verzeichnis verschoben und nicht tatsächlich gelöscht. Um aufzuräumen und die Verschwendung von Speicherplatz zu vermeiden kann eine Skript-Datei (oder Ihre Software) oder Ihr Kunde das Backup-Verzeichnis auch löschen.

Löschen obsoleter Dateien.

Eine weitere wichtige Fähigkeit von BinPatch ist, daß bei der Bearbeitung von Verzeichnissen obsolete Dateien erkannt werden. Sie können Dateien als zu löschen angeben, indem Sie die Option "-d" oder "-D" benutzen.

Mit der Option "-d=dateimuster" geben Sie an, daß Dateien in Startzustands-Verzeichnissen gelöscht werden sollen, die auf das Muster passen und nicht im Endzustand vorhanden sind. Mit der Option "-d" aktivieren Sie "-d=*" als die Entfernung pauschal aller Dateien, die im angegebenen Endzustand nicht enthalten sind.

Mit der Option "-D=Dateiname" können Sie Dateinamen angeben, die auch dann gelöscht werden sollen, wenn Sie in keinem Verzeichnis zum Zeitpunkt der Erzeugung der Patchdatei vorhanden sind. Beim Anwenden der Patchdatei aber, wird eine dann evt. vorhandene Datei dieses Namens gelöscht.

Bitte beachten Sie, daß die Option "-i", also das Ignorieren von Dateien höhere Prezedenz hat als die Option "-d" und daher ignorierte Dateien als nicht existent gelten.

Existenz oder Versionsprüfung von Dateien.

Das normaleVerhalten von GenPatch ist es, Dateien, die im Endzustand und in allen angegebenen Startzuständen identisch und mit gleichem Dateinamen vorliegen einfach zu überspringen. Es wäre sinnlos, Informationen über diese Dateien einzubinden, es sei denn, Sie möchten a) Erzwingen, daß die Datei vorhanden ist, um eine Patchdatei erfolgreich anzuwenden. b) Komplette Versionen erstellen, wenn ein Benutzer dem DoPatch eine alternatives Verzeichnis für die Erstellung der gepatchen Version angibt.

Mit der Option "-f" oder "-f=dateimuster" sind Sie in beiden Fällen erfolgreich. Die Option "-f" packt auch dann (sehr kurze) "Patchinformation" für diese Dateien in die Datei, wenn diese Dateien eigentlich identisch sind. Wenn Sie ein Dateimuster angeben, so können Sie dieses Verhalten auf einzelne Dateien oder Dateitypen beschränken, ganz wie es Ihnen beliebt.

Bei einem Dateipatch können Sie eine sehr kleine Patchdatei mit der Option "-f" erstellen, die eine Überprüfung der Version dieser Datei erlaubt. Wenn der Patch anwendbar ist (und nichts tut), dann ist die Version korrekt, ansonsten ist die Datei nicht mehr mit derjenigen identisch, die bei der Patcherzeugung verwendet worden war.

Automatisches Finden des Patchdatei-Ziel für Win32.

Patchdateien für die Win32 Plattform können von der System-Registry Gebrauch machen, um die zu patchende Datei zu finden. Das wird erreicht, indem der Name eines Registry-Schlüssels angegeben wird, der dann den Pfad für die zu patchende Datei(en) angibt. Das wird getan mit der Option "-k" des GenPatch. Wenn eine Patchdatei mit Registry-Key angewendet wird, dann wird auf dem speziellen Rechner der Installationspfad durch die Patchdatei ausgelesen und so ohne eine Interaktion mit dem Benutzer (keine Pfadangabe nötig) auf einfachste Weise das Ziel automatisch gefunden.

Der Benutzer kann die Patchdatei dann nicht mehr auf einem anderen Weg anwenden. Auch andere Plattformen können die Patchdatei nichtmehr anwenden, da die System-Registry nur für Win32-Plattform lesbar ist.

Wir empfehlen die Benutzung dieser Option, wenn Ihre Software oder die Patchdatei nur für Win32 gedacht ist.

Um eine Patchdatei mit einem Registry-Key zum Nachschlagen zu versehen, geben Sie lediglich den Pfad an. Nach Voreinstellung ist der anzugebende Pfad relativ zu HKEY_LOCAL_MACHINE, so daß z.B. "-k=Software\YourSoftware\InstallPath" beim Anwenden der Patchdatei auf den Schlüssel HKEY_LOCAL_MACHINE\Software\YourSoftware" und darin den Wert von "InstallPath" verweist. Das letzte "\" oder "/" (beide sind gleichwertig benutzbar) trennt den "Registry-Schlüssel" vom "Wert". Den Default-Wert wählen Sie z.B. durch "-k=Software\YourSoftware\" aus. Sie können den Pfad auch mit Anführungszeichen umgeben, wenn er Leerzeichen enthält, wobei dann der Einsatz von "/" statt "\" als letztes Zeichen empfehlenswert ist, weil sonst Ihre Kommandzeile denkt, daß Sie das abschliessende Anführungszeichen escapen wollten. Um das zu vermeiden steht Ihnen auch der Wert "\@" zur Verfügung, der ebenfalls als Defaultwert erkannt wird, so daß '-k="\Software\Name mit Leerzeichen\@"' z.B. auch den Default-Wert anspricht.

Übernahme von Seriennummern in Dateien bei der Anwendung von Patchdateien.

Wenn Sie Seriennummern in Ihren Dateien haben, dann ist das Anwenden von BinPatch-Dateien der einfachste Weg, um Updates anzuwenden, die diese Seriennummern auch übernehmen. Benutzer müssen die Seriennummer nicht erneut angeben und nicht erneut Ihren Support belasten. Bitte beachten Sie, daß wir Informationen über diese Fähigkeit von BinPatch nur gegenüber Kunden dokumentieren, um dem Mißbrauch von BinPatch durch kriminelle Elemente zu begegnen.

Interne Kompression von Patchdateien.

Nach Voreinstellung werden Patchdateien intern komprimiert. Die Effizienz dieser Kompression ist mit der der Standard-ZIP Komprimierung vergleichbar oder leicht besser. Wenn Sie aber zusätzlich noch eine externe Kompression auf eine Patchdatei anwenden wollen, so empfielt es sich sehr, die Option "-j" im GenPatch anzugeben und die interne Kompression zu deaktivieren, da es der externen Kompression schwerer macht, gute Ergebnisse zu erzielen. Wenn Sie wissen, daß die Patchdatei in extern komprimierter Form vertrieben werden wird, so raten wir Ihnen, diese Option zu deaktivieren und größere (unkomprimierte) Patchdateien zugunsten kleinerer Archive in Kauf zu nehmen.

Externe Kompression von Patchdateien.

Sehr oft werden Sie Patchdateien in Archiv-Form verschicken wollen. Denn obgleich schon die interne Kompression sehr effizient ist, wird es für manche Empfänger Probleme beim Download und Email-Empfang mit ".utp" Dateien geben.

Weil es sich dabei also um eine typische Aktion im Zusammenhang im Versand von Patchdateien handelt, haben wir eine Untersützung für die wichtigsten Kompressions-Programme in GenPatch integriert. Und so geht es:

Den Standardpacker festlegen: Die eingebaute ZIP-Methode ist die Standard-Methode für die externe Kompression. Sie erstellen damit ZIP-Dateien, die zu 100% kompatibel mit allen anderen ZIP-Tools wie PkZIP, WinZIP oder InfoZIP sind. Wir empfehlen daher, diesen weit verbreiteten Standard zu wählen. Aber Sie können auch im Systempfad installierte Packer ansprechen lassen. Mit "-Z=packername" legen Sie eine neue Voreinstellung fest (am besten in der Umgebungsvariable BINPATCH_OPTS, die immer bearbeitet wird). Erlaubte Packernamen sind InfoZIP, PkZIP, GZIP, RAR, ARJ, JAR and LHA.

Die Patchdatei extern komprimieren: Benutzen Sie die Option "-z", um GenPatch zu veranlassen der - eventuell mit "-Z=packername" veränderten - Voreinstellung bzgl. des zu verwendenden Tools folgend, die Datei zu komprimieren.

Die Vorgabe in Ausnahmefällen überschreiben: Um in Ausnahmefällen die Voreinstellung für die externe Kompression mit "-Z" zu überschreiben, können Sie auch "-z=packername" angeben und die Voreinstellung für das kurze "-z" ist dann belanglos.


Kapitel: BinPatch Lizenzbestimmungen

Die Benutzung des Computerprogrammpaketes "BinPatch" erfolgt ausschließlich zu den nachbenannten Bedingungen. Der Benutzer erkennt mit dem Einsatz des Programmpaketes die nachstehenden Bedingungen als verbindlich an. Im Sinne dieses Dokumentes bezeichnet BinPatch sowohl die Programme als auch die Dokumentation auf allen Plattformen. Lesen sie diesen Abschnitt bitte vollständig:

a) Es ist es ausdrücklich erwünscht, daß die BinPatch Classic Software weitergegeben wird.

Dabei ist nur die vollständige Weitergabe - also inklusive dieser Datei - erlaubt. Als natürliche Ausnahme dieser Bestimmung ist es gestattet, das DoPatch zur Anwendung später versandter Patchdateien an deren Empfänger zu verteilen. Der Verzicht der Beigabe der Lizenzbestimmungen aus dieser Datei beinhaltet das Einverständnis dazu, daß der Weitergebende die volle Haftung übernimmt, bzw. in eigener Dokumentation selbst auszuschließen hat. Diese sollte dann einen Verweis auf eine Bezugsquelle für dieses Dokument enthalten, oder wenigstens die komplette Lizenz als Ausschnitt enthalten.

b) Die Weitergabe der "Lizenz-Dateien" zur Erstellung von personalierten Patchdateien ist nicht erlaubt. Die Nutzung von Lizenz-Dateien zur Erzeugung von Patchdateien darf nur im Auftrag des Lizenznehmers erfolgen. Die Benutzung von Lizenz-Dateien auf fremden Namen, ist nur im direkten Auftrag gestattet und ansonsten verboten.
c) Es ist verboten, BinPatch anders als durch von Kay Hayen Software erzeugte Patchdateien, zu modifizieren. Niemand sonst darf Patchdateien für BinPatch erzeugen.
d) Wenn Sie BinPatch in eine andere Sprache übersetzen möchten, so schreiben Sie uns bitte. Nur offizielle Übersetzungen in Kooperation mit Kay Hayen Software sind erlaubt.
e) Der nicht-kommerzielle Gebrauch von BinPatch ist erlaubt ohne Extra-Lizenz. Benutzer sind dennoch willkommen, BinPatch-Lizenzen zu erwerben, wenn es Ihnen gefällt. Aber nur die Autoren von Software selbst dürfen Patchdateien für ihre Programme erzeugen, dies gilt besonders für kommerzielle Software. Bitte beachten Sie, daß Shareware, "Light" and "Trial" (Probe) Versionen von kommerzieller Software allesamt als kommerziell eingestuft werden.
f) Der kommerzielle Gebrauch von GenPatch oder Click'n Patch verlangt den Kauf einer Lizenz zur kommerziellen Nutzung. Der Gebrauch ist dann kommerziell, wenn die veränderten Daten kommerzieller Natur sind oder wenn Shareware, "Light" oder "Trial" (Probe) Versionen aktualisiert werden. Es ist nicht erlaubt, Patchdateien für kommerzielle Dateien oder Shareware anderer Firmen oder Autoren zu erstellen. Das darf nur der Hersteller der Software und natürlich nur mit einer kommerziellen Lizenz für BinPatch. Selbständige sollten uns zur Frage besonderer Lizenzen kontaktieren.

Das Anwenden von Patchdateien ist akzeptabel, solange die Patchdateien nicht gegen Lizenzbestimmungen verstoßen.

Die Lizenz zur kommerziellen Nutzung muß von Kay Hayen Software erworben werden und wird nur durch die Installation und Benutzung der Lizenzdatei wirksam. Bitte prüfen Sie das Kapitel "Kommerzielle Lizenztypen", um die für Sie in Frage kommenden Lizenzen zu wählen.

g) Eine Firma darf nicht die Lizenz Ihrer Angestellten in Anspruch nehmen und umgekehrt dürfen Angestellte nicht die Lizenz Ihrer Firma für eigene Projekte nutzen. Beide müssen eine kommerzielle Lizenz erwerben.
h) Es ist verboten, Bestandteile von BinPatch zurückzuentwickeln, zu entkompilieren oder entassemblieren. Es ist ebenfalls verboten, von BinPatch abgeleitete Werke zu erstellen, ohne zunächst die gesonderte Lizenz dafür von Kay Hayen Software <suggestion@kayhayen.com> einzuziehen.
i) Kay Hayen Software garantiert nicht, daß BinPatch frei von Programmfehlern, Fehlfunktionen, Inkompatibilitäten, Fehlern oder Auslassungen ist. Kay Hayen Software wird, nach eigenem Ermessen und mit angemessenem Aufwand, Programmfehler und Fehlfunktionen beseitigen, sofern diese in Erscheinung treten.

Kay Hayen Software gibt keine, ausdrückliche oder implizite Garantie zu BinPatch. Dieses umfaßt, ohne einzuschränken, die Einsetzbarkeit zu kommerziellen Zwecken, oder Eignung zu einem bestimmten Zweck und betrifft das gesamte BinPatch Produkt in allen Varianten und Teilen. Kay Hayen Software haftet nicht oder garantiert nichts über die Ergebnisse der Benutzung von BinPatch im Hinblick auf die Korrektheit, Genauigkeit, Verläßlichkeit, Aktualität oder Sonstiges. Das gesamte Risiko in Bezug auf die Ergebnisse und Arbeitsweise von BinPatch ist vom Anwender zu tragen. Der Ausschluß von impliziten Garantien ist in manchen Rechtsprechungen nicht erlaubt. Die obigen Ausschlüsse treffen u.U. nicht in vollem Umfang auf den Benutzer zu.

Kay Hayen wird unter keinen Umständen dem Benutzer haftbar für irgendwelche aus der Benutzung von BinPatch entstehenden, zufällig gleichzeitig entstehenden oder indirekten Schäden. Ohne zu beschränken, umfaßt dies Geschäftsverluste, Gewinnverluste, Geschäftsunterbrechungen, der Verlust von Geschäftsinformation, die aus der korrekten oder fehlerhaften Benutzung von BinPatch enstehen, sogar dann wenn Kay Hayen Software auf die Möglichkeit dieser Schäden hingewiesen oder informiert war. Weil einige Rechtsprechungen nicht den Ausschluß oder die Begrenzung der Haftung für Schäden erlauben, treffen die obigen Ausschlüsse u.U. nicht in vollem Umfang auf den Benutzer zu. Die Haftung von Kay Hayen Software dem Benutzer gegenüber gleich aus welchem Grund, wird durch den Kaufpreis beschränkt, den der Benutzer für BinPatch bezahlt hat. Ohne einzuschränken betrifft das Schäden aus Verträgen, Schmerzen einschließlich Vernachlässigung, Produkthaftung und Sonstiges.

Kay Hayen Software kann nicht verantwortlich gemacht werden für Schäden, die aus der Benutzung von BinPatch oder Patchdateien entstehen. Insbesondere kann Kay Hayen Software nicht für den Inhalt und die Funktion der Patchdateien verantwortlich gemacht werden.

j) BinPatch Classic und Professional sind Copyright © 1996-1998 by Kay Hayen.

Kapitel: Kommerzielle BinPatch-Lizenzen

Für die kommerzielle Nutzung von BinPatch Classic oder Professional muß eine passende Lizenz erworben werden.

Alle Lizenzen umfassen, soweit nicht in der detaillierten Einzel-Beschreibung widersprochen wird, folgende Eigenschaften:

Keine gesonderten Lizenzabgaben pro Produkt oder pro Installation.
Patchdateien dürfen für alle Produkte Ihrer Firma in beliebiger Zahl erstellt und vertrieben werden.
DoPatch darf mit Ihrem Produkt, oder in Form von ausführbaren Patchdateien, für jede PC-Plattform vertrieben werden.
Alle unterstützen PC-Plattformen dürfen zur Erzeugung der Patchdateien verwendet werden.
Der Gebrauch von BinPatch auf einer bel. Anzahl von Computern durch eine bel. Anzahl von Angestellten, ist erlaubt.
Alle nachfolgenden Updates zu BinPatch und voller Support für ein Jahr wird gewährt, nach diesem Zeitraum gelten ermäßigte Preise.

Die Preise für kommerzielle BinPatch-Lizenzen sind:

Preis Lizenz-Typ Enhaltene Produkte Detailierte Lizenz-Beschreibung

50 USD

One-man company license
(Einmann-Firmenlizenz)
BinPatch Classic für PC.
Dieser Lizenz-Typ darf nur von Firmen in Anspruch genommen werden, die im Besitz einer einzelnen Person sind und keinerlei Angestellte besitzen. Sogenannte Einmann-Firmen. Bitte lesen Sie den Kommentar zu "Freelancern" für die gesonderte Bedingungen gelten.

100 USD

One-man professional license
(Prof. Einmann-Firmenlizenz)
BinPatch Classic für PC
BinPatch Professional für PC(*)
Ansonsten identisch zur "one-man company license", umfaßt dieser Lizenz-Typ außerdem die Erlaubnis mit "BinPatch Professional" DoPatch Software-Komponenten in die eigene Software einzubinden.

500 USD

Single product license
(Einzelprodukt-Lizenz)
BinPatch Classic für PC
BinPatch Professional für PC
Dieser Lizenz-Typ gestattet Firmen, BinPatch für eine einzige Produkt-Familie zu nutzen. Für weitere Produkte werden zusätzliche Lizenzen benötigt.

500 USD

Mid-range company license BinPatch Classic für PC
BinPatch Professional für PC
Dieser Lizenz-Typ kommt nur für Firmen in Frage, die nur einen einzigen Standort haben, nicht aber international präsent sind. Bitte kontaktieren Sie uns, wenn Ihre Firma dem nicht genüge tut, Sie aber zustimmen würden, die Benutzung von BinPatch auf einen einzigen Standort zu beschränken. Diese wäre akzeptabel und Gegenstand von Verhandlung.

5000 USD

World-wide company license BinPatch Classic für PC
BinPatch Professional für PC
Für weltweit präsente Firmen ist dieser Lizenz-Typ ideal. Er gestattet BinPatch in vollem Umfang zu nutzen und beinhaltet zu dem unseren Plus-Support.
>5000 USD BinPatch OEM license BinPatch Classic für PC
BinPatch Professional für PC
GenPatch DLL package
Mit diesem Lizenz-Typ dürfen Sie GenPatch Software-Komponenten in Ihrer Software verwenden. Die Lizenz für diese ist im Einzelfall auszuhandeln und mag einen höheren Preis, Lizenzabgaben oder sonstiges enthalten. Wenn Sie nur wenige Installationen haben, ist sogar denkbar, daß ein niedrigerer Preis ausgehandelt werden kann.

Sie haben verschiedene Möglichkeiten zum Erwerb von BinPatch Lizenzen, die in dieser Datei gelistet sind. Sie umfassen das Kaufen online per Kreditkarte, Banküberweisung auf unser Konto oder das Zusenden von Schecks, in Ausnahmefällen auch Bargeld.

Anmerkung: Dieses Angebot bleibt nur bis zum Erscheinen eines neuen BinPatch-Version gültig.

(*) Die "one-man company professional license" erlaubt anders als bei richtigen Firmenlizenzen, nicht die komplett unsichtbare Verwendung der DoPatch DLLs, sondern wird genau einmal eine Lizenz-Information per Requester anzeigen - egal wieviele Patchdateien dann angewandt werden.


Kapitel: Anforderungen

BinPatch für Win32:

Das DoPatch für die Win32 Kommandozeile ist nicht unter purem DOS-Modus anwendbar, sondern nur in DOS oder NT Fenstern. Für reines DOS7 ohne die grafische Oberfläche von Windows95 zu laden, verwenden Sie bitte DoPatch für DOS.

BinPatch für Win32 und erstellte ausführbare Patchdateien sind zu 100% kompatibel mit Windows 95, Windows 98, Windows NT 3.5 und Windows NT 4.0.

BinPatch für DOS/Win3.1:

Das Genpatch für DOS setzt beim Benutzer derzeit einen 386er und einen DPMI-Server voraus. Davon lassen Sie sich bitte nicht erschrecken, denn diese Bedingung erfüllen Sie schon, sobald sie GenPatch nur in einem DOS-Fenster von Windows oder OS/2 laufen lassen. Unter DOS können sie falls vorhanden QEMM verwenden oder alternativ das freie Tool CWSDPMI. Bitte beachten Sie, daß Sie natürlich ohne weiteres auch mit GenPatch für Win32 Patchdateien für DOS/Win3.1 erstellen können. Die Benutzung von GenPatch für DOS kann wirklich nur dann empfohlen werden, wenn Ihnen zur Erzeugung der Patchdatei kein Windows95/NT zur Verfügung steht.

Das DoPatch für DOS setzt lediglich ein DOS und einen 286er Prozessor voraus. Als Zusatz-Angebot ist eine Version für den 8088 Prozessor der XT Computer erhältlich, die allerdings extra zu lizensieren ist. Speicher wird außer für den Programmcode und den Stack nicht benötigt. DoPatch ist dazu entwickelt worden, spontan auf jedem x-beliebigen Rechner zu laufen, ohne daß die Benutzer über spezielles System-Wissen verfügen müssen. Insbesondere muß kein Speichermanager installiert sein.

OS/2:

BinPatch für OS/2 und erstellte ausführbare Patchdateien sind zu 100% kompatibel mit OS/2 V2.0, V2.1, OS/2 Warp 3 und OS/2 Warp 4.

SCO Unix:

BinPatch für SCO Unix und erstellte ausführbare Patchdateien sind zu 100% kompatibel mit Unixware 7.

Elf-Linux:

BinPatch für Elf-Linux und erstellte ausführbare Patchdateien sind zu 100% kompatibel mit allen Kernel-Versionen über 2.0.0 oder installierten ELF-Bibliotheken bei älteren Kernel-Versionen.


Kapitel: BinPatch Bezugsquellen

Die folgenden Quellen für BinPatch werden mit den jeweils aktuellen Versionen versorgt. Von dort beziehen Sie BinPatch für alle Plattformen.

WWW: Wenn Sie diese Seite schon online lesen, dann folgen Sie einfach dem Link zum Download-Bereich, um zu der entsprechenden Seite im WWW zu gelangen. Ansonsten können Sie die Addresse http://www.kayhayen.com/binpatch/download.htm in ihren Brower eingeben.

FTP: Der offizielle anonymous-FTP Server für BinPatch ist ftp.kayhayen.com. Dort finden Sie stets die aktuelle, aber auch ältere Versionen von BinPatch im Verzeichnis /binpatch.


Kapitel: Geplante Programm-Eigenschaften

Anmerkung: Erscheinende Releases können in Funktion und Implementierung von dieser Ankündigung abweichen.

V3.1 (14. öffentliches Release in Vorbereitung für 3/4.99)

Sie meinen, es fehlt noch etwas, oder Sie benötigen eine bestimmte, nicht aufgeführte Fähigkeit unbedingt, Sie können Informationen oder Unterstützung anbieten. Dann schreiben Sie uns, wir sind für Anregungen immer offen!


Kapitel: History

Hier eine Auflistung der Änderungen von Version zu Version:

V3.0 (14. öffentliches Release für DOS, Win95, NT, OS/2, SCO Unix und Linux am 14.2.99)

V2.2 (13. öffentliches Release für DOS, Win95, NT, OS/2, SCO Unix und Linux am 19.7.98)

V2.1 (12. öffentliches Release für DOS, Win95, NT, OS/2 und Linux am 26.3.98)

V2.0 (11. öffentliches Release für DOS, Win95, NT, OS/2 und Linux am 5.2.98)

V1.9 (10. öffentliches Release für DOS, Win95, NT, OS/2 und Linux am 3.9.97)

V1.8 (9. öffentliches Release für DOS, Win95, NT, OS/2 und Linux am 11.7.97)

V1.7 (8. öffentliches Release für DOS, Win95, NT, OS/2 und Linux am 18.6.97)

V1.06 (7. öffentliches Release für DOS, Win95, NT, OS/2 und Linux am 16.6.97)

V1.05 (6. öffentliches Release für DOS, Win95, NT, OS/2 und Linux am 9.6.97)

V1.04 (5. öffentliches Release für DOS, Win95, NT, OS/2 und Linux am 22.5.97)

V1.03 (4. öffentliches Release für DOS, Win95, NT, OS/2 und Linux am 23.4.97)

V1.02 (3. öffentliches Release für DOS, Win95 und Linux am 17.2.97)

V1.01 (2. öffentliches Release für DOS, Win95 und Linux am 11.2.97)

V1.00 (1. öffentliches Release für DOS, Win95 und Linux am 5.2.97)

V0.90 (9. Betaversion für DOS, Win95 und Linux am 31.1.97)

V0.89 (8. Betaversion für DOS, Win95 und Linux am 22.1.97

V0.88 (7. Betaversion für DOS, Win95 und Linux am 20.1.97)

V0.87 (6. Betaversion für DOS, Win95 und Linux am 16.1.97)

V0.86 (5. Betaversion für DOS, Win95 und Linux am 14.1.97)

V0.85 (4. Betaversion für DOS und Linux am 23.12.96)

V0.84 (3. Betaversion für DOS und Linux am 19.12.96)

V0.83 (2. Betaversion für DOS am 16.12.96)

V0.82 (1. Betaversion für DOS am 11.12.96)

Alle frühereren Versionen waren rein interne Alpha-Versionen.



Kapitel: Tips zu BinPatch

Tip: Versuchen Sie Ihren Patchdateien möglichst aussagekräftige Namen zu geben. Der Name einer Patchdatei sollte möglichst beschreiben, was die Patchdatei tut. Eine Patchdatei namens "Update.exe" teilt dem Anwender nichts darüber mit, für welche Software in welcher Version die Patchdatei gedacht ist. Bevorzugen Sie stattdessen eher Namen wie "V21_V22.utp" (den DOS-Konventionen folgend) oder besser noch "Update MeinProgramm 1.0x nach 1.1 als Patch.utp". Dann ist dem Benutzer sofort klar, daß seine Version 1.05 damit zu aktualisieren ist und eine 0.98 (nanu?) eben nicht..

Tip: Achten sie darauf, daß sie beim Übersetzen ihrer Programme möglichst identische Einstellungen für den Compiler benutzen, ansonsten entstehen unnötige Unterschiede, die sich negativ auf die Größe der Patchdatei auswirken.

Tip: Die Enviroment-Variable "BINPATCH_OPTS" wird von GenPatch in jedem Fall an die Befehlszeile angehängt. Tragen Sie dort die Parameter ein, die sie immer verwenden möchten.

Tip: Nur für DOS, nicht für Win32: Es kommt vor, daß eine "automatische" Zuteilung von DPMI-Speicher unter Windows fehlschlägt, weil Windows unter "automatisch" eben nicht "nach Bedarf" versteht, sondern einen Wert festlegt, der auf der physischen vorhandenen Speichermenge beruht. Legen Sie dann ein spezielles DOS-Fenster an, dem Sie die benötigte Menge Speicher fest zuteilen. Tragen sie ruhig 32000 oder auch 60000 ein, ich hatte damit bisher keine Probleme, kann dafür aber keine Garantie geben. Sollte auch das nicht helfen, so müssen Sie auf GenPatch für Win32, OS/2 oder Linux ausweichen. Diese Betriebssysteme sind großzügiger, was den Bedarf von Speicher angeht. Die damit erstellten Patches lassen sich dann ohne weiteres von einem DoPatch für DOS anwenden, denn DoPatch benötigt garkeinen Speicher.


Kapitel: Mögliche Probleme

Unter DOS oder im DOS-Fenster kann es bei sehr großen Dateien vorkommen, daß GenPatch sich mit dem Hinweis beendet, daß leider nicht genug Speicher vorhanden sei und Sie die DPMI-Einstellungen überprüfen sollten. Eine Lösung hierfür finden sie in den Tips oben.

Dateien grösser als 2 Gigabyte bearbeitet das reguläre DoPatch nicht, bitte treten Sie mit uns in Kontakt, falls Sie größere Dateien bearbeiten wollen. Wie helfen Ihnen gerne weiter.

Beim Abbruch von GenPatch für OS/2 mit STRG-C bleibt eine "angefangene" Patchdatei erhalten, die von DoPatch nicht als Patchdatei erkennbar wird.

Für die Linux Version 1.05/6/7 wurde gemeldet, daß GenPatch nach jedem erzeugten Patch einen "coredump" liefert. Die erzeugten Patches sind aber ohne Probleme anwendbar. Ab 1.9g sollte das Problem behoben sein.

Das Datum für Einbettungen wurde in den Versionen 1.7 und 1.8 nicht gesetzt, nur gepatchte Dateien erhielten das Datum des Originals. Mit Version 1.9 wurde das Problem (eine Auslassung im Dateiformat der Patchdateien) behoben.


Kapitel: Besonderheiten je Plattform

DOS/Windows 3.1: Keine.

Windows 95/NT: Keine, aber DoPatch für Windows95/NT erfordert bei Win95 den GUI-Modus. Benutzen sie DoPatch für DOS, wenn Sie Patches im MS-DOS Modus anwenden möchten.

Sco Unix und Linux: Unix unterscheidet bei Dateinamen die Gross und /Kleinschreibung. Das kann zu Problemen führen, wenn mit dem GenPatch einer anderen Plattform erzeugte Patches durch das DoPatch für Linux anwenden. Erzeugen Sie Verzeichnis-Patches, die auch unter Unix angewendet werden sollen, mit einem GenPatch der unterstützen Unix-Plattformen.

OS/2: Keine. Beachten Sie bitte, daß GenPatch für OS/2 nicht richtig mit STRG-C umgeht und eine unvollständige Patchdatei anders als andere Plattformen nicht löscht. Die erweiterten Attribute von OS/2 Dateien werden durch die Option "-A" in den Patch eingebunden und von DoPatch für OS/2 auch gesetzt. Andere Plattformen wenden solche Patches aber auch ohne Probleme an, können aber keine EAs setzen


Kapitel: Fehlerbeseitigung in BinPatch

Wenn Sie einen vermeintlichen Fehler in GenPatch oder DoPatch gefunden haben, dann lesen Sie bitte unbedingt vorher die Kapitel "Besonderheiten je Plattform" und "Mögliche Probleme", um auszuschließen, daß es sich um ein bekanntes Problem handelt. Sehen Sie bitte vorher in einer der Bezugsquellen nach, ob das Problem in einer neueren Version behoben ist.

Sollte das Problem damit nicht behoben sein, sagen wir Ihnen eine unverzügliche Reaktion und schnellstmögliche Beseitigung des Problemes zu, soweit es uns möglich ist, denn Fehlerfreiheit ist für BinPatch neben seiner einmaligen Leistungsstärke die absolute Priorität.

Um uns dabei zu helfen, daß Problem möglichst gut zu erkennen, möchten wir Sie um folgendes bitten: Versuchen sie zunächst das Problem zu reproduzieren, indem Sie alle Dateien entfernen, die nicht nötig sind, um das Problem zu produzieren. Sofern der Fehler bei einer einzelnen Datei auftritt, versuchen Sie bitte auch, einen Dateipatch genau dieser Datei zu machen und sehen sie, ob das Problem auch dort auftritt.

Sofern möglich, versuchen sie bitte auch die Versionen anderer Plattformen, um zu sehen, ob das Problem nur für eine Plattform besteht. Dann versuchen Sie bitte ein EMail an uns zu fomulieren, die folgende Punkte beinhaltet:

  1. Welche Version von BinPatch auf welchen Plattformen verwenden sie konkret?
    Diese Information ist very wichtig! Mit diesem Wissen kann ich wesentlich gezielter nach der Ursache des Problems Ausschau halten.
  2. Welche Fehlermeldung geben GenPatch bzw. DoPatch aus? Auch diese Information ist sehr wichtig! Auch wenn die Fehlermeldung ihnen nicht verständlich ist, so kann ich doch u.U. sofort erkennen, was schiefgegangen ist.
  3. Welche genauen  Parameter haben sie verwendet?
    Auch diese Information ist recht wichtig! Manche Fehler mögen nur bei best. Parametern auftreten. Probieren sie bitte auch die normalen Parameter.
  4. Was genau haben sie zu patchen versucht?
    Waren es Programme, Bilder oder Texte? Diese qualitative Information kann auch hilfreich sein.

Schicken sie diese Mail an bugreport@kayhayen.com und wählen sie möglichst den Betreff "Bugreport BinPatch Vx.xx", so daß wir Ihre Meldung mit allerhöchster Priorität behandeln können. Die binären Dateien schicken sie BITTE NICHT gleich mit. Wenn es dazu Grund gibt, werden wir Sie dazu auffordern und mit einer zügigen Antwort dürfen Sie wie gesagt rechnen.


Kapitel: Danksagungen

Unser Dank gilt in ersten Linie dem Bruder Andree Hayen, der Kay Hayen über seine Site Edition das Tor zum Internet geöffnet hat. Sein brüderlicher Rat hat uns oft geholfen und vor mancher Dummheit bewahrt.

Außerdem seien DJ Delorie und Eli Zaretski gedankt, Ihnen verdanken wir viel Support zum 'djgpp', einem GNU-Port des gcc für DOS.

Unser Danke gilt auch dem hilfsbereiter Übersetzer Roger Malin, der uns bei der Übersetzung von DoPatch in das Französische half.

Und "last but not least" geht ein Danke an alle Betatester und Kunden von BinPatch, denen wir sehr viele guten Ideen in BinPatch verdanken. Wir haben hier diejenigen unter Ihnen mit besonders großer Hilfsbereitschaft in alphabetischer Reihenfolge aufgezählt:

Viel Spaß beim Ausprobieren!

Gruß, Kay Hayen

 


Anhang A: Begriffe

Ausführbare Patchdateien: Normalerweise ist zum Anwenden von Patches ein spez. Programm names DoPatch nötig. Anders bei ausführbaren Patches. Diese müssen als Programme nur gestartet werden und aktualisieren dann die vorhandenen Daten. Diese Patches enthalten quasi selbst ein DoPatch und sind daher auch größer als Patches, die nicht ausführbar sind.

BinPatch: Bezeichnet das Programmpaket zum Erzeugen und Anwenden von Patches. Manchmal werden auch die erzeugten UTP-Dateien BinPatch(es) genannt.

Compiler: Ein Programm, das von Entwicklern genutzt wird, um Programme zu erzeugen. Normalerweise geben sie einem Programm gewissen Standard-Funktionalität mit, die bei allen Programmen, die den gleichen Compiler nutzen, vorhanden sind.

DoPatch: Bezeichnet das Programm zum Anwenden von Patches, Teil von BinPatch.

DPMI: Methode mit der DOS-Programme auf mehr Speicher zugreifen können als DOS früher einmal vorgesehen hatte. Jedes DOS-Fenster von Windows oder OS/2 hat einen sog. DPMI-Server auf den die DOS-Programme zugreifen können und genau das macht auch GenPatch für DOS/Windows 3.1.

GenPatch: Bezeichnet das Programm zum Erzeugen von Patches, Teil von BinPatch.

Lange Dateinamen: So werden die mit Windows 95 eingeführten Dateinamen genannt, die nichtmehr den Konventionen von DOS 6 und davor genügen müssen. Insbesondere dürfen Dateinamen länger als 8 Zeichen sein, mehr als einen Punkt enthalten und danach auch mehr als 3 Zeichen. Nur DoPatch für Windows 95/NT kann diese Dateinamen bearbeiten und nur GenPatch für NT kann unter NT diese Dateinamen bearbeiten.

Multipatch: Für gewöhnlich werden Patches für eine bekannte Quelle auf ein festgelegtes Ziel erzeugt. Beim Multipatch handelt es sich um Patches, die mehr als eine Quelle auf ein Ziel aktualisieren können. Damit lassen sich dann z.B. 1.0a und 1.0b mit dem gleichen Patch zur 1.1 aktualisieren.

Patch(datei): Eine Datei (bei BinPatch eine mit der Endung ".UTP", daher auch UTP-Datei genannt) mit der es möglich ist aus einer älteren Version einer Datei eine neuere Version zu erstellen. Bei BinPatch kann ein Patch sich auf eine gesamten Verzeichnis mitsamt Unterverzeichnissen beziehen.

Redundanz: So wird es genannt, wenn Information sich in gleicher Weise wiederholt. Für BinPatch ist auch z.B. auch ein zitierten Newsartikel redundant, weil BinPatch kleine Abweichungen gut kompensiert. Solche Redundanzen werden auch von modernen Packern nicht erkannt, wohl aber von GenPatch, wenn Sie die Option "-r" aktivieren.

Overhead: Anteil eines Programmes, der eigentlich keine Funktion hat, aber aus technischen Gründen dennoch im Programm enthalten ist.

 


Anhang B: GenPatch Optionen

Dieses Kapitel listet alle Optionen, die GenPatch versteht. Sie sollten das hier nur als Kurzreferenz verstehen und ansonsten vorzugsweise auf die entsprechenden Kapitel zurückgreifen.

-all
-a
Weist GenPatch an, alle Dateien zu bearbeiten. Normalerweise werden versteckte Dateien nicht in die Patcherzeugung mit einbezogen. Wenn Sie "-all" angeben, ist das anders.
-backup="Backup Verzeichnis mit Leerzeichen"
-backup=BackupVerzeichnisOhneLeerzeichen
-b=BackupVerzeichnis
Geben Sie das Verzeichnis an, in das bei der Anwendung von Patchdateien überschriebene Dateien verschoben werden. Nach Vorgabe ist es "Backup".
-comment="Bis zu 76 Zeichen Kommentar pro Zeile\nund 10 Zeilen"
-comment=@Kommentar.txt
-c="Kommentar in der Kurzform"
Geben Sie einen Kommentar an, der vom Enduser bestätigt werden muß, bevor der die Patchdatei anwendet. Sie können entweder einen kurzen Kommentar auf der Kommandozeile angeben oder Sie verweisen auf eine Datei, die in ein 80x20 Display paßt.
-delete="Dateiname mit Leerzeichen"
-delete=Dateimuster
-d=Dateimuster
-d
Obsolete Dateien können entfernt werden, wenn die Patchdatei angewendet wird. Normalerweise werden Sie nicht gelöscht (in das Backup-Verzeichnis verschoben), aber Dateien, die in einem Startzustands-Verzeichnis vorhanden sind, nicht aber im Endzustands-Verzeichnis und auf ein angegebenes Muster passen, werden entfernt. Mit "-d" aktivieren Sie die Entfernung für alle obsoleten Dateien, es entspricht "-d=*". Beachten Sie, daß die relevante Überprüfung zum Zeitpunkt der Erstellung der Patchdatei stattfindet und nicht erst beim Anwenden.
-exact="Dateiname mit Leerzeichen"
-exact=Dateimuster
-e=Dateimuster
Erzwingen Sie mit dieser Option, daß die Patchdatei Dateien, die auf das angegebene Muster passen nicht aus Dateien mit anderen Dateinamen erstellt. Das vermeidet, daß Dateien aus ungeeigneten Dateien erstellt werden, wenn Sie etwa wissen, daß best. Daten-Dateien nur teilweise installiert sein werden.
-force="Dateiname mit Leerzeichen"
-force=Dateimuster
-force
-f
Die ersten beiden Formen dieser Option machen nur im Verzeichnis-Modus Sinn, wo sie erzwingen, daß GenPatch identische Dateien, die auf die Muster passen nicht überspringt. Mit "-f" werden im Verzeichnis-Modus alle Dateien gepatcht, es ist identisch zu "-f=*". Im Dateimodus bewirkt "-f", daß auch sehr ungünstige Patchdateien erstellt werden oder eben auch ein Patch mit identischen Dateien als Grundlage erstellt wird, der dann z.B. zu Versionsüberprüfungen dienen kann.
-g=info Mit dieser Option werden Seriennummer-Informationen geschützt. Sie wird nur gegenüber Kunden dokumentiert, weil nur kommerzielle Kunden an Ihr interessiert sein werden und andererseits der Mißbrauch vermieden werden soll.
-help
-h
Veranlaßt GenPatch die wichtigesten Parameter zu benennen.
-ignore="Dateiname mit Leerzeichen"
-ignore=Dateimuster
-i=Dateimuster
Ignorieren Sie Dateien, die auf best. Muster passen. Diese Dateien werden von der weiteren Bearbietung komplett ausgeschlossen und gelten als nicht existent, denn diese Option die höchst Priorität.
-j Deaktiviert die interne Kompression. Damit erreichen Sie für die externe Kompression der Patchdatei kleinere Archivgrößen.
-key="\HKEY_LOCAL_MACHINE\Software\IhrProgramm\IhrValue"
-key=HKEY_LOCAL_MACHINE/Software/IhrProgramm/IhrWert
-k=HKLM\Software\IhrProgram\DefaultWertVonDiesemSchluessel\@
Geben Sie den Registry Key an, anhand dessen die Patchdatei später Ihr Ziel ganz ohne Eingriff des Endkunden finden kann. Sie können den "\" auch durch einen "/" ersetzen. Der Default-Wert wird entweder durch das Enden auf "\" bzw. "/" angezeigt, oder durch den "@" am Ende. Der addressierte Wert gilt als das, was nach dem letzten "\" bzw. "/" steht.
-logfile=type
-log=type
-l=type
-l
Aktivieren Sie die Logdatei-Funktion. Diese Datei erhält den Namen der Patchdatei aber einer anderen Dateiendung. Welche, das hängt vom gewählten Textformat ab. Erlaubt sind "txt" (alias "ascii") und "htm" (alias "html"), wobei "txt" die Voreinstellung ist, wenn keine Typangabe erfolgt.
-m=number Reduzieren Sie die Menge von Speicher, die GenPatch benutzt mit dieser Option. Sie akzeptiert numerische Parameter von 5..100 mit 5 als Voreinstellung. Höhere Werte benutzen weniger Speicher, erzeugen aber größere Patchdateien. Benutzen Sie diese Einstellung nur, wenn Sie auf Speicherprobleme stoßen.
-pgp
-p
Rufen Sie ein extern installiertes PGP auf, um die erstellte Patchdatei zu signieren. (Noch nicht implementiert.)
-quiet
-q
Weisen Sie GenPatch an, weniger Ausgaben zu machen. Nur noch wirklich wichtige Informationen werden ausgegeben.
-unimportant="Dateiname mit Leerzeichen"
-unimportant=Dateimuster
-u=Dateimuster
Geben Sie die Dateien an, die nicht unbedingt erfolgreich erzeugt werden müssen, um die Patchdatei erfolgreich anzuwenden. Diese Dateien verlangen dann nicht unbedingt die Existenz einer geeigneten Datei als Vorlage und sind u.U. nicht vorhanden, nachdem die Patchdatei angewendet worden ist.
-s=gui32
-s=gui16
-s=gui
-s
Erzeugen Sie die Patchdatei als ausführbare Datei mit dieser Option. Die erste Variante erzeugt ein nur-Win32 Programm mit grafischem Windows-Interface zur Anwendung der Patchdatei. Die zweite Variante erzeugt eine auch unter Windows3.1 lauffähige Patchdatei. Die dritte Variante ist eine Abkürzung der ersten beiden, denn Sie wählt abhängig vom verwendeten GenPatch eine plattformeigene Variante für die Patchdatei aus.
Die letzte Variante erzeugt ein plattformeigenes Programm mit Kommandozeilen Interface
-time=now
-time=latest
-t=n
-t=l
Wählen Sie die Datumsbehandlung für die Patchdatei. Normalerweise wird GenPatch das bei der im Endzustand gefunden Datei gesetzte Datum in die Patchdatei aufnehmen und es wird bei der Anwendung der Patchdatei dann gesetzt. Mit diesen Optionen können Sie festlegen, daß stattdessen das aktuelle Datum bei der Erzeugung der Patchdatei oder das der zuletzt bearbeiteten Datei für alle Dateien festgelegt wird.
-version
-v
Zeigt die Versionsinformation zu GenPatch an.
-z=Packername
-zip
-z
Weist BinPatch an, eine externe Kompression auf die erzeugte Patchdatei anzuwenden. Die ZIP-Methode ist eingebaut und erfordert keine externe Software, um eine ZIP-Datei mit der Patchdatei als Inhalt zu erstellen. Andere Packernamen erfordern eine korrekte Installtion im Systempfad. Achten Sie darauf, daß Sie u.U. die Option "-j" aktivieren und damit die interne Kompression der Patchdatei deaktivieren, da diese vermutlich nur zu einer Vergrößerung des entstehenden Archives führt.

 


Dies ist die BinPatch-Dokumentation, deren aktuelle Fassung stets auf der Internet-Seite http://www.kayhayen.com/binpatch/liesmich.htm einsehbar ist.

Copyright © 1999 Kay Hayen. Alle erwähnten Namen und Warenzeichen sind Eigentum der jeweiligen Firmen. Verantwortlich ist  Kay Hayen Software, docmaster@kayhayen.com