AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Patches programmieren

Ein Thema von PierreB · begonnen am 23. Apr 2005 · letzter Beitrag vom 15. Mai 2005
Antwort Antwort
Seite 3 von 5     123 45      
MathiasSimmack
(Gast)

n/a Beiträge
 
#21

Re: Patches programmieren

  Alt 23. Apr 2005, 17:15
Sicherer als so ein Versionsnummern-Vergleich ist aber allemal ein binärer Vergleich, so wie das dir mir bekannten Patchmaker machen.
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#22

Re: Patches programmieren

  Alt 23. Apr 2005, 17:43
Zitat von MathiasSimmack:
Sicherer als so ein Versionsnummern-Vergleich ist aber allemal ein binärer Vergleich, so wie das dir mir bekannten Patchmaker machen.
Ja, aber eine unterschiedliche Binärdatei heisst aber noch nicht zwangsläufig, daß es eine neue Version darstellt... Es kann ja auch eine veraltete sein... Um einen einleitenden Versionencheck vor dem Patch kommt man meines Achtens nicht herum.

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 Rema einfliessen. Mehr zu dem Programm hier.
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.334 Beiträge
 
Delphi XE5 Professional
 
#23

Re: Patches programmieren

  Alt 23. Apr 2005, 18:16
Zitat von PierreB:
Das mit nem Hexeditor sollte aber eigentlich auch gehen, oder ?
Dann vielleicht lieber damit: PE Resource Explorer?
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#24

Re: Patches programmieren

  Alt 23. Apr 2005, 18:20
Zitat von MathiasSimmack:
Zitat von 3_of_8:
Ich kann für nichts garantieren
Dann lass es lieber. Unter dem genannten Link findet sich irgendwo ein mit Delphi geschriebenes Programm, das den ganzen Patchprozess von sich aus übernimmt. Außerdem kann es Patches mit mehr als nur einer Datei erzeugen. Das heißt, du kannst auf einen Rutsch mehrere Dateien aktualisieren lassen. Ebenso lassen sich neue Dateien hinzufügen und nicht mehr benötigte (obsolete) Dateien entfernen. Und das ganze funktioniert etwas anders als deine Textdatei-Idee. Sorry.
Probieren kann mans ja mal. Wäre eine einfache Möglichkeit, ich probiers gleich mal aus.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#25

Re: Patches programmieren

  Alt 23. Apr 2005, 18:33
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.
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#26

Re: Patches programmieren

  Alt 23. Apr 2005, 18:44


Mal schaun. Aber afaik dürfte das die bessere Lösung sein, solange ungefähr die Hälfte der Exe gleich bleibt.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#27

Re: Patches programmieren

  Alt 23. Apr 2005, 19:15
Zitat von Jelly:
Zitat von MathiasSimmack:
Sicherer als so ein Versionsnummern-Vergleich ist aber allemal ein binärer Vergleich, so wie das dir mir bekannten Patchmaker machen.
Ja, aber eine unterschiedliche Binärdatei heisst aber noch nicht zwangsläufig, daß es eine neue Version darstellt... Es kann ja auch eine veraltete sein... Um einen einleitenden Versionencheck vor dem Patch kommt man meines Achtens nicht herum.
Entschuldige, ich habe mich nicht richtig ausgedrückt. Die Tools, die ich kenne, erstellen von der zu patchenden Datei eine Art Prüfsumme o.ä., mit deren Hilfe sie die Datei später als berechtigt erkennen. Wenn die Datei jetzt bereits durch einen anderen (neueren) Patch aktualisiert wurde, ändert sich logischerweise auch diese Prüfsumme, und der alte Patch würde gar nicht mehr funktionieren.
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 ...
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#28

Re: Patches programmieren

  Alt 24. Apr 2005, 10:23
Bei BMPs und bei TXTs funktioniert es perfekt, aber ich habe noch ein Prob bei EXEn und WAVs. Mal sehen.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#29

Re: Patches programmieren

  Alt 24. Apr 2005, 14:24
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.
Angehängte Dateien
Dateityp: exe patchmakerv1.0_578.exe (427,8 KB, 35x aufgerufen)
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#30

Re: Patches programmieren

  Alt 24. Apr 2005, 14:29
Zitat von 3_of_8:
Bittesehr, funktioniert perfekt. Man muss halt immer zuvor schauen, ob es sich rentiert, einen Patch zu erstellen oder die komplette Datei weiterzugeben.
Kann man bei einem Patchtool bequemer einstellen. Jetzt muss ich allerdings selbst mal überlegen. Kann MakeUpd den Ordnervergleich (zwischen Ordner "alt" und Ordner "neu"), bei dem alle Dateien automatisch verglichen werden, von sich aus, oder war das eine der Modifikationen, die ich für mich privat gemacht habe? Ich weiß es nicht mehr. Habe das Ding auch schon ewig nicht mehr gebraucht. Wie auch immer. Man kann den Ordner mit der Version 1.0 angeben und dann den Ordner mit der Version 1.1. Das Tool liest alle Dateien ein, ignoriert die, die sich nicht geändert haben und listet alle auf, die aktualisiert werden müssen, hinzukommen oder entfernt werden sollen. Dann konnte man noch entscheiden, ob eine der zu patchenden Dateien doch lieber komplett integriert sein soll (Vor-Version damit unerheblich), und per Knopfdruck ging´s dann los.

Zitat:
Mit WinRar kann man die Patches oft noch auf mehr als auf die Hälfte der Dateigröße verringern.
Üblicherweise ist der Patch selbst gepackt, so dass man keinen externen Packer mehr braucht.

Zitat:
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.
Ich weiß nicht, wie MakeUpd vorgeht, aber da geht´s ratzfatz. Ich sagte ja, ganz so einfach ist das Thema nicht.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 5     123 45      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz