Binarydiff Update fuer Applikation
Binarydiff Update fuer Applikation
Hi,
habe ein Problem, dass zwar nicht 100%ig Qt spezifische ist, aber vielleicht weiss jemand trotzdem einen Rat ....
Ich versuche gerade meiner Applikation eine Update funktion zu verpassen.
Das Progeamm soll erkennen ob es eine neuere Version gibt und falls ja
nur ein Binary-Delta runterladen und sich dann patchen.
Meine Idee ist eine Starter Applikation zu schreiben, die die eigentliche Appliaktion startet (QProcess).
Wenn nun die Applikation erkennt, dass es eine neuere Version gibt, wird der Patch (nur binary delta) runtergalden und die Applikation beendet sich, dann erkennet die Starter Appliaktion, dass es was zu patchen gibt und patch dann das BinaryDelta auf die Applikation und startet sie neu........
Meine Frage ist nun, mit welchen "freien" tools, die auf Windows, Mac und Linux laufen kann ich denn solche BinaryDeltas erzeugen ???
Oder gibt es da ganz andere Loesungsansaetze was den Upgrade angeht ???
Gruss,
Nando
habe ein Problem, dass zwar nicht 100%ig Qt spezifische ist, aber vielleicht weiss jemand trotzdem einen Rat ....
Ich versuche gerade meiner Applikation eine Update funktion zu verpassen.
Das Progeamm soll erkennen ob es eine neuere Version gibt und falls ja
nur ein Binary-Delta runterladen und sich dann patchen.
Meine Idee ist eine Starter Applikation zu schreiben, die die eigentliche Appliaktion startet (QProcess).
Wenn nun die Applikation erkennt, dass es eine neuere Version gibt, wird der Patch (nur binary delta) runtergalden und die Applikation beendet sich, dann erkennet die Starter Appliaktion, dass es was zu patchen gibt und patch dann das BinaryDelta auf die Applikation und startet sie neu........
Meine Frage ist nun, mit welchen "freien" tools, die auf Windows, Mac und Linux laufen kann ich denn solche BinaryDeltas erzeugen ???
Oder gibt es da ganz andere Loesungsansaetze was den Upgrade angeht ???
Gruss,
Nando
Re: Binarydiff Update fuer Applikation
Du plenkst und dein Fragezeichen prellt. Der Satz wird dadurch nicht wichtiger, ehr umgekehrt.nando hat geschrieben:Oder gibt es da ganz andere Loesungsansaetze was den Upgrade angeht ???
Ich würde nicht mit Patches arbeiten. Wenn etwas schief geht, hast Du dem Kunden sein laufendes Programm geschrotet. Zu Qt3-Zeiten haben die Trolls auch damit gearbeitet, obwohl die Pakte nur ein Drittel so groß waren.
Was spricht denn dagegen alles zu laden? Ist dein Paket so groß?
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
Hallo,
Deine Starter-Applikation ermittelt MD5-Hashes aller im Verzeichnis befindlichen Dateien und gleicht diese Hashes mit einer Liste im Internet ab.
Wenn Differenzen erkannt werden, dann einfach das gesamte File runterladen und ersetzen, von Binary-Diffs kann ich auch nur abraten.
Bin mir gerade nicht sicher, ob Qt 4.4 MD5-Hashes so ohne weiteres von Dateien anfertigt, notfalls gibts für Qt 4.x.x auch irgendwo ne freie Implementierung (google fragen, hatte ich vor ner Weile mal gefunden).
Ciao,
Sephral
Deine Starter-Applikation ermittelt MD5-Hashes aller im Verzeichnis befindlichen Dateien und gleicht diese Hashes mit einer Liste im Internet ab.
Wenn Differenzen erkannt werden, dann einfach das gesamte File runterladen und ersetzen, von Binary-Diffs kann ich auch nur abraten.
Bin mir gerade nicht sicher, ob Qt 4.4 MD5-Hashes so ohne weiteres von Dateien anfertigt, notfalls gibts für Qt 4.x.x auch irgendwo ne freie Implementierung (google fragen, hatte ich vor ner Weile mal gefunden).
Ciao,
Sephral
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
QCryptoGraphicHashSephral hat geschrieben: Bin mir gerade nicht sicher, ob Qt 4.4 MD5-Hashes so ohne weiteres von Dateien anfertigtl
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Danke MeisterChristian81 hat geschrieben:QCryptoGraphicHashSephral hat geschrieben: Bin mir gerade nicht sicher, ob Qt 4.4 MD5-Hashes so ohne weiteres von Dateien anfertigtl
Danke fuer die Antworten.
Das Problem warum ich nicht die komplette Applikation runterladbar machen will/kann ist, dass die Applikation einen Copierschutz hat und durch einen Key geschuetzt ist. Der Kunde, der das Produkt kauft bekommt einen key mit dem er es freischalten kann.
Wenn ich jetzt diese freigeschaltete Version komplett ueberbuegel ist das doof... Dann muesste der Kunde die Applikation erneut freischalten....
oder man muesste sich dass irgendwie merken, on die Applikation schon frei ist und dann automatisch freischalten, wenn die zu ueberbuegelnde Version schon eine Vollversion ist...
Mit Binary diffs koennte ich die updates frei downloadbar machen auf der Internetseite, ohne Member bereich etc. ....
gruss,
Nando
Das Problem warum ich nicht die komplette Applikation runterladbar machen will/kann ist, dass die Applikation einen Copierschutz hat und durch einen Key geschuetzt ist. Der Kunde, der das Produkt kauft bekommt einen key mit dem er es freischalten kann.
Wenn ich jetzt diese freigeschaltete Version komplett ueberbuegel ist das doof... Dann muesste der Kunde die Applikation erneut freischalten....
oder man muesste sich dass irgendwie merken, on die Applikation schon frei ist und dann automatisch freischalten, wenn die zu ueberbuegelnde Version schon eine Vollversion ist...
Mit Binary diffs koennte ich die updates frei downloadbar machen auf der Internetseite, ohne Member bereich etc. ....
gruss,
Nando
Die Frage ist, wie Dein Kopierschutz arbeitet.
Wenn du die komplette exe ersetzt, liegt das key-file ja noch im Ordner -> kein Problem. Wenn du nen kompletten Installer runterlädst, dann ists natürlich schlecht. Ich würde wirklich einzelne Files im Ordner austauschen und ggf das Kopierschutzsystem so anpassen, dass es damit zurecht kommt.
Wenn du die komplette exe ersetzt, liegt das key-file ja noch im Ordner -> kein Problem. Wenn du nen kompletten Installer runterlädst, dann ists natürlich schlecht. Ich würde wirklich einzelne Files im Ordner austauschen und ggf das Kopierschutzsystem so anpassen, dass es damit zurecht kommt.
Moin,
also der Kopierschutz funktioniert so:
Der Kunde kauft das Produkt und bekommt einen key mitgeliefert.
Diesen Key gibt er online auf unserer Seite ein und erhaelt dafuer einen 24 Stunden gueltigen freischaltcode fuer die Applikation. Damit kann er die Applikation freischalten. Aber nur 24Stunden lang.
Wenn ich jetzt die Applikation ueberbuegel, muss ich mir irgendwie "sicher" merken, dass sie ja schon frei war.... Hmm... aber wie soll ich das machen ohne dass die Sicherheitsfunktion beeintrreaechtigt wird.... ?
also der Kopierschutz funktioniert so:
Der Kunde kauft das Produkt und bekommt einen key mitgeliefert.
Diesen Key gibt er online auf unserer Seite ein und erhaelt dafuer einen 24 Stunden gueltigen freischaltcode fuer die Applikation. Damit kann er die Applikation freischalten. Aber nur 24Stunden lang.
Wenn ich jetzt die Applikation ueberbuegel, muss ich mir irgendwie "sicher" merken, dass sie ja schon frei war.... Hmm... aber wie soll ich das machen ohne dass die Sicherheitsfunktion beeintrreaechtigt wird.... ?
-
PeterLustig
- Beiträge: 386
- Registriert: 21. November 2007 20:07
Damit ist aber nicht erklärt wie die Applikation sich merkt das sie freigeschaltet ist.nando hat geschrieben:Der Kunde kauft das Produkt und bekommt einen key mitgeliefert.
Diesen Key gibt er online auf unserer Seite ein und erhaelt dafuer einen 24 Stunden gueltigen freischaltcode fuer die Applikation. Damit kann er die Applikation freischalten. Aber nur 24Stunden lang.
PeterLustig hat geschrieben:Damit ist aber nicht erklärt wie die Applikation sich merkt das sie freigeschaltet ist.nando hat geschrieben:Der Kunde kauft das Produkt und bekommt einen key mitgeliefert.
Diesen Key gibt er online auf unserer Seite ein und erhaelt dafuer einen 24 Stunden gueltigen freischaltcode fuer die Applikation. Damit kann er die Applikation freischalten. Aber nur 24Stunden lang.
das ist ja genau das problem um das es jetzt geht
-
PeterLustig
- Beiträge: 386
- Registriert: 21. November 2007 20:07
Wie hattest du es denn geplant, wenn du Binarydiffs benutzt hättest? Wär doch nicht anders gewesen...
Naja, ganz sicher kannst du es nicht machen. Eine Idee wäre sicher einen Verschlüsselten String innerhalb der Konfigurationsdatei speichern, der Name + Freischaltcode überprüft. Aber der kann eben auch beliebig kopiert werden...
Naja, ganz sicher kannst du es nicht machen. Eine Idee wäre sicher einen Verschlüsselten String innerhalb der Konfigurationsdatei speichern, der Name + Freischaltcode überprüft. Aber der kann eben auch beliebig kopiert werden...
ja das hatte ich mir auch schon ueberlegt, aber du hast recht, dann kann man die konfiguration einfach kopieren....... hmmmm
hi, ja das mit den WIBUKEY hab ich mir mal angeschaut, scheint gut zu sein,
aber leider lohnt sich das nicht fuer meine 60/70 euro software......
hmmmmmm
wie waere das denn, wenn ich ein binarydiff auf die applikation, die schon freigeschaltet ist anwende ? ist die dann gesperrt ? das binarydiff darf eben nicht die stelle patchen die den key abfragt.. dann koennte es doch gehen, oder was meint ihr ?
hi, ja das mit den WIBUKEY hab ich mir mal angeschaut, scheint gut zu sein,
aber leider lohnt sich das nicht fuer meine 60/70 euro software......
hmmmmmm
wie waere das denn, wenn ich ein binarydiff auf die applikation, die schon freigeschaltet ist anwende ? ist die dann gesperrt ? das binarydiff darf eben nicht die stelle patchen die den key abfragt.. dann koennte es doch gehen, oder was meint ihr ?
-
PeterLustig
- Beiträge: 386
- Registriert: 21. November 2007 20:07
hmm..
okay... hab das jetzt schon oefters gehoert, das es nicht gut sein soll...
dann muss ich mir echt mal ueberlegen, wie ich das problem loesen kann...
muss dann vielleicht doch einen memberbereich einrichten, wo der user sich einloggt und mit seinem key an die updates rankommt...
also komplett neue version runterladen und dann mit einem neuen freischaltcode die neue version aktivieren....
d.h. der user loggt sich ein, sendet seinen cd-key....... daraufhin kann er die neue version (komplett kein binarydiff) runterladen und muss diese dann mit einem neuen schluessel den er auch bekommt und der nur 24h gueltig ist aktivieren.....
gar nicht sooo trivial das ganze.... .
okay... hab das jetzt schon oefters gehoert, das es nicht gut sein soll...
dann muss ich mir echt mal ueberlegen, wie ich das problem loesen kann...
muss dann vielleicht doch einen memberbereich einrichten, wo der user sich einloggt und mit seinem key an die updates rankommt...
also komplett neue version runterladen und dann mit einem neuen freischaltcode die neue version aktivieren....
d.h. der user loggt sich ein, sendet seinen cd-key....... daraufhin kann er die neue version (komplett kein binarydiff) runterladen und muss diese dann mit einem neuen schluessel den er auch bekommt und der nur 24h gueltig ist aktivieren.....
gar nicht sooo trivial das ganze.... .