![]() |
Re: Patches programmieren
Sicherer als so ein Versionsnummern-Vergleich ist aber allemal ein binärer Vergleich, so wie das dir mir bekannten Patchmaker machen. ;)
|
Re: Patches programmieren
Zitat:
Neben den von dir genannten Delphi Programm (update.exe) gibts auch noch andere Lösungen. Patchfactory ist z.B ein alternatives Tool. Kostet aber leider ein bischen :-( Aber alles in allem wurde ein Programm bislang noch nicht besprochen. Nehmen wir an, auf einem Webserver liegt ein Patch (also ein richtiges Patch, das nur die Unterschiede beinhaltet), welches eine Version 2.0 zu 3.0 updatet. Das stellt kein Problem dar. Was aber, wenn der Benutzer noch selbst Version 1.0 nutzt, und in einem Schritt auf Version 3.0 updaten will. Das vorliegende Patch ist für ihn sinnlos... MSI Installationsskripte bieten jedoch aúch ein Möglichkeit, dieses Problem zu lösen. Allerdings kriegt man das nicht mit Installshield Express hin, das bei Delphi Prof. beiliegt, sonder man braucht dazu schon die Vollversion oder Wise. Die Dinger kosten aber gleich ein Arsch voll Geld. Ich bastele gerade selbst an einer Lösung, wie man dieses Problem beheben kann. Das Ganze soll dann irgendwann in ![]() ![]() |
Re: Patches programmieren
Zitat:
![]() |
Re: Patches programmieren
Zitat:
|
Re: Patches programmieren
Ich wollte dich nicht bremsen, so war das nicht gemeint. Probiere ruhig! Nur bedenke bitte, dass die neuere Exe-Datei (oder generell die neue Dateiversion) kleiner oder auch größer als die alte sein kann. Ein Bytevergleich reicht also nicht. Position und evtl. Größe der unterschiedlichen Blöcke müsstest du also auch berücksichtigen, ... usw. usw.
Nicht zu vergessen, dass ein Bytevergleich u.U. ein "Vergleichsprotokoll" erzeugt, das um ein Vielfaches größer ist als die zu patchende Datei. Eine Komprimierung darf´s also auch noch sein. :stupid: |
Re: Patches programmieren
:shock: :pale:
Mal schaun. Aber afaik dürfte das die bessere Lösung sein, solange ungefähr die Hälfte der Exe gleich bleibt. |
Re: Patches programmieren
Zitat:
Das Problem, das man sich u.U. alte Dateiversionen einfängt, tritt IMHO nur bei Updates auf, die die zu ersetzenden Dateien komplett enthalten. Also keine Patches im Sinn des Wortes. Und da hast du dann natürlich Recht. In solchen Fällen wird nach der Versionsnummer geguckt. Wenn man dann als Entwickler merkt, dass man gar keine Versionsnummer benutzt hat, na ja ... :lol: |
Re: Patches programmieren
Bei BMPs und bei TXTs funktioniert es perfekt, aber ich habe noch ein Prob bei EXEn und WAVs. Mal sehen.
|
Re: Patches programmieren
Liste der Anhänge anzeigen (Anzahl: 1)
Bittesehr, funktioniert perfekt. Man muss halt immer zuvor schauen, ob es sich rentiert, einen Patch zu erstellen oder die komplette Datei weiterzugeben.
Mit WinRar kann man die Patches oft noch auf mehr als auf die Hälfte der Dateigröße verringern. Und wundert euch nicht, wenn es bei manchen Dateien ziemlich lange dauert, wenn ihr auf "Patch erstellen" klickt, schließlich werden die beiden Dateien byteweise verglichen. Es funktioniert übrigens mit ALLEN Dateitypen, nicht nur mit EXEn. |
Re: Patches programmieren
Zitat:
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz