AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte UU - Universal Updater v0.3

UU - Universal Updater v0.3

Ein Thema von Strahlex · begonnen am 31. Jan 2008 · letzter Beitrag vom 22. Sep 2009
Antwort Antwort
Seite 1 von 2  1 2   
Strahlex
Registriert seit: 30. Jun 2007
Universal Updater v0.3
http://gostrahlex.go.funpic.de/image...te/UU-Logo.PNG

Da ich es umständlich fand, vor allem für kleinere Programme, immer einen neuen Update-Client zu programmieren hab ich mal den Universal Updater geproggt:

Features:
  • universell anpassbarer Client
  • Download komprimierter Updatepakete mittels 7Zip
  • UpdateManager für das einfache und schnelle veröffentlichen von Updates
Voraussetzungen:
  • Webserver mit HTTP und FTP Unterstützung
  • 7Zip zum komprimieren der Updates
  • TSevenZipVCL und die Indys fürs selber kompilieren
Screenshots:
http://img3.imagebanana.com/img/h7dz...0815_58_57.png
http://img3.imagebanana.com/img/d66c...0816_09_30.png

Download:
goStrahlex.funpic.de


Was folgen wird:
  • bessere Performance des Updaters



Anleitung:

Grundvoraussetzungen:
  • Webserver mit HTTP und FTP Zugriff
  • 7Zip zum packen der Dateien
ServerStruktur:
Auf dem Update-Server sollte ein eigenes Verzeichnis für das Programm vorhanden sein, in diesem wird mittels Update-Manager die Versionsdatei erstellt. Dieses Verzeichnis sollte außerdem einen Ordner mit dem Namen "files" enthalten, hierhin werden vom Update-Manager die Update-Packete im Sevenzip-Format kopiert.


Updater konfigurieren:
Im Verzeichnis des Updaters liegt eine update.cfg und eine uninstall.cfg, diese beiden Dateien müssen auf das Programm angepasst werden.

update.cfg - Aufbau:
1. Zeile: Warnung für die User
2. Zeile: Der Update-Server
3. Zeile: Verzeichnis am Update-Server
4. Zeile: Name der zu updatenden Anwendung

uninstall.cfg - Aufbau:
1. Zeile: Warnung für die User
ab der 2. Zeile sollten die Namen der vor dem Update zu löschenden Dateien eingetragen werden


Update-Manager:
zuerst muss das Update mit 7Zip in eine 7z-Datei gepackt, dazu am besten alle veränderten Dateien seit dem Release und die uninstall.cfg einpacken.

Der Update-Manager sollte sich in Prinzip selbst erklären...

Man kann vielleicht noch einen UnInstaller oder so dazugeben der sich auf die uninstall.cfg bezieht.

Integration in ein Projekt:
Um den Updater in ein Projekt einzubinden sollte man ihn am besten beim starten des Programms mitstarten, wenn kein Update verfügbar ist bleibt dieser leise und unsichtbar, ist jedoch ein Update verfügbar wird die Update-Meldung erscheinen. Das Programm sollte automatisch beim Update terminiert werden.

Wenn der Updater nicht "geheim" bleiben soll gibt es den Paramter "-explizit", diese eignet sich zum Beispiel für einen Update-Button im Projekt.

neu:
Backup-Funktion mit dem Paramter "-backup"

Anregungen, Beschwerden und Modifikationen sind erwünscht!!!
Angehängte Dateien
Dateityp: zip universal_updater_135.zip (516,7 KB, 207x aufgerufen)
 
Strahlex

 
Delphi 2005 Personal
 
#2
  Alt 3. Feb 2008, 19:27
So Leute ich hab jetzt Version 0.2 fertiggestellt und außerdem eine kurze Anleitung verfasst.
Die Programmicons kommen erst in der nächsten Version.
  Mit Zitat antworten Zitat
Strahlex

 
Delphi 2005 Personal
 
#3
  Alt 7. Feb 2008, 20:00
Falls wer einen guten Gratis-Webhost sucht:
Funpic

kann alles was ein Server können muss, Nachteil: nur Dateien bis 1Mb oder so.
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

 
Delphi XE Architect
 
#4
  Alt 7. Feb 2008, 20:17
Das Projekt schaut ganz gut aus
Ich werds mir mal anschauen wenn ich zeit hab
Alex
  Mit Zitat antworten Zitat
shmia

 
Delphi 5 Professional
 
#5
  Alt 8. Feb 2008, 14:44
Folgendes fällt auf:
1.) Updater und UpdateManager sollten unterschiedliche Unitnamen erhalten, damit man beide Projekte in einem Sourcecodeverzeichnis ablegen kann
2.) Gemeinsame Funktionen (z.B. function GetSizeName()) von Update und UpdateManager sollten in eine eigene Unit gepackt werden
3.) selbstgeschriebene Methoden (z.B. procedure SearchVersion) gehören in den Abschnitt private und nicht in den Bereich, der von der IDE gemanaged wird.
Andreas
  Mit Zitat antworten Zitat
Strahlex

 
Delphi 2005 Personal
 
#6
  Alt 8. Feb 2008, 22:08
Zitat von shmia:
Folgendes fällt auf:
1.) Updater und UpdateManager sollten unterschiedliche Unitnamen erhalten, damit man beide Projekte in einem Sourcecodeverzeichnis ablegen kann
2.) Gemeinsame Funktionen (z.B. function GetSizeName()) von Update und UpdateManager sollten in eine eigene Unit gepackt werden
3.) selbstgeschriebene Methoden (z.B. procedure SearchVersion) gehören in den Abschnitt private und nicht in den Bereich, der von der IDE gemanaged wird.
Danke shmia, daran hab ich gar nicht gedacht

hab gleich mal das gane zusammengefasst und eine Project Group erstellt
  Mit Zitat antworten Zitat
Benutzerbild von OldGrumpy
OldGrumpy

 
Delphi 2006 Professional
 
#7
  Alt 9. Feb 2008, 09:00
Ein Feature das mir noch fehlt wäre eine Option mit der die Files die gelöscht werden müssen fürs Update in einem Unterordner "Backup" oder wie auch immer gesichert werden, damit man ggf. die alte Version wiederherstellen kann.
  Mit Zitat antworten Zitat
Ferdy2003
 
#8
  Alt 10. Feb 2008, 17:18
Hallo,

ich würde mir den Updater gerne ansehen, ich habe aber leider so meine Probleme bei der Installation von TSevenZip in meinem Delphi. Ich verwende Delphi 2007 (RAD Studio) hat mir jemand evtl. einen Tipp wie ich es in mein Delphi rein bekommen kann? Auf der Seite des Programmierers finde ich leider kein Tut oder Docs zu der Komponente.

Vielen Dank!

P.S. Fall diese Frage nicht hier rein gehört, sag ich schonmal vorher Entschludigung ich bin mir da nicht so sicher.

Gruß

Ferdy2003
  Mit Zitat antworten Zitat
Benutzerbild von STS301
STS301

 
Delphi 7 Personal
 
#9
  Alt 10. Feb 2008, 17:37
ich habe ihn auch schon mal gefragt:

er hat mir gesagt, dass ich die SevenZip.pas einfach ins "lib" kopieren soll, am besten du fügst die .pas in ein Pakage und installierst es dann
Sebastian
  Mit Zitat antworten Zitat
Ferdy2003
 
#10
  Alt 10. Feb 2008, 17:52
Zitat von STS301:
ich habe ihn auch schon mal gefragt:

er hat mir gesagt, dass ich die SevenZip.pas einfach ins "lib" kopieren soll, am besten du fügst die .pas in ein Pakage und installierst es dann
Danke das mit dem Package hat wunderbar funktioniert
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf