Ich muss die alte Version (N) des Produkts installieren. Der Hersteller hat jedoch den vollständigen Download zugunsten eines schrecklichen Launcher-basierten Installationsprogramms eingestellt, und für die Version, an der ich interessiert bin, wurde nur ein Patch von der vorherigen Version (N-1) veröffentlicht.
Ich habe es geschafft, Version N-1 zu erhalten und erfolgreich zu installieren, da es sich nur um eine Reihe von Zip-Paketen handelte. Patch für Version N enthält jedoch Diff-Patches (.rdiff- und .xdiff-Erweiterungen) für Datenpakete (zips), und obwohl ich versuchte, Launcher zu zwingen, sie zu installieren, schlug dies fehl und beschädigte Daten. (Ich habe nie mit solchen Patches gearbeitet)
Was ich über diese Diff-Patches weiß:
Obwohl ich keine Linux-Maschine bereit habe, kann ich bei Bedarf mit Software für Penguin arbeiten. Ich kann einen vom Pendrive booten (z. B. mit einem bootfähigen .iso-Loader), ich habe auch einen Pendrive, der groß genug ist, um alle Daten darauf zu speichern, sodass keine NTFS-Fähigkeit erforderlich ist.
(Ich habe es nicht eilig, also nehmen Sie sich bitte Zeit, um eine gute Antwort zu geben;) Ich werde in ca. 6 Stunden Zugriff auf die Maschine mit diesen Dateien haben und es ist sowieso nichts Kritisches)
Bearbeiten #1:
Obwohl ich gestern keinen Zugriff auf die fraglichen Dateien erhalten habe, habe ich einige Google + Brain-Arbeiten durchgeführt.
Anscheinend gibt es einfach keine Software, die das tut, was ich brauche, und der Patch selbst wird auf ketzerische Weise erstellt.
Dateien sehen aus, als wären sie mit dem Dienstprogramm rdiff-backup erstellt worden, das, sofern ich nicht blind bin, keine Option zum Anwenden von Reverse-Patches ohne Einrichtung des Repositorys hat.
Ich bin mir immer noch nicht sicher, ob der Patch auf gepackte Daten oder entpackte Verzeichnisse angewendet werden soll, aber es kann leicht getestet werden, wann ich diese Dateien endlich erreichen werde.
Und jetzt der ketzerische Teil, der Reverse-Diff-Patch wird erstellt, um eine neuere Version in eine ältere umzuwandeln ... und diese Firma hat ihn verwendet, um einen inkrementellen Patch anzuwenden? Pfui...
Es scheint, dass ich möglicherweise Dateiformatspezifikationen finden und einfach mein eigenes Dienstprogramm dafür erstellen muss.
Obwohl ich am Ende keine Diff-Patches manuell angewendet habe (ich habe es geschafft, Software zu zwingen, alte Updates anzuwenden), führte die Verfolgung dieses Ziels zu genügend Know-how, um dies zu tun (was mir zeigte, wie man besagten Software-Updater "behebt"). .
Der erste Schritt besteht darin, den Diff-Typ zu identifizieren. Text, binär, Verzeichnis, inkrementell, dekrementell (umgekehrt) ... und dann müssen Sie die genaue Implementierung herausfinden. Uff, der Schmerz!
Es gibt mehrere Hinweise darauf, mit welcher Art von Diff-Patch Sie es zu tun haben:
In meiner Aufgabe habe ich mich mit folgenden Dateierweiterungen beschäftigt.
Durch Überprüfung von Datei-Headern (Signaturen), die normalerweise aus zwei (word) oder vier (dword/int) Bytes bestehen. Obwohl die Suche nach Rohsignaturen fehlschlug, gelang es mir, diese nützliche File Identifier -Software zu finden, die mindestens eines der Diff-Formate in ihrer Datenbank hatte. (Ich werde Signaturen hinzufügen, auf die ich in einer späteren Bearbeitung gestoßen bin)
Die Ergebnisse waren wie folgt:
(Ja, diese Software ist so großartig, dass sie vier Arten von Patches zusammen mit normalen Updates verwendet ...)
Um es kurz zu machen, Windows ist eine sehr schlechte Plattform, um mit Diff-Patches zu arbeiten. Auf jeder Linux-Distribution finden Sie die meiste benötigte Software in Repositories (DeltaMAX ist nur Windows, sollte aber in Wine gut funktionieren) und selbst wenn nur der Quellcode verfügbar ist, ist es viel einfacher, es auf jedem Penguin zu kompilieren, als alle notwendigen Dinge zu installieren auf Windows-Rechner.
Nikolaus Raul
diff
Operation verwendet werden, wirken sich oft auf denpatch
Befehl aus, den Sie verwenden müssen.PTwr
Nick Dickinson-Wilde
PTwr
Nikolaus Raul
PTwr