Hallo!
Nach den
SJ Config Utils zur Konfiguration von eigenen Projekten stelle ich dieses Projekt vor, mit dem man die eigenen Anwendung einfach aktualisieren kann. Ohne zusätzliche Exe und mit korrekter Umsetzung mit der
UAC unter Vista / 7.
Wichtig:
Sicherheitsmerkmale sind noch nicht vorhanden. Die downgeloadeten Updates werden also noch
nicht geprüft!
Features:- Direkte Integration in die Exe ohne zusätzliche DLLs oder Exe-Dateien.
- Anzeige des UAC-Prompts unter Vista
- Fortschrittsanzeige (noch nicht ganz flüssig)
- Demo-Projekt inkl. Update-Demo auf meinem Server
- Versionsangabe, damit Dateien nur bei Bedarf geladen werden
Lizenz:
MPL 1.1 oder
LGPL 2.1 oder
GPL 2.0 (oder höher)
Installation und Verwendung:
Die Zip-Datei auspacken und die Units dem Projekt hinzufügen. Dann die AppGuid in der
Unit SJUpdaterUtils.pas ändern und die unter "Formatdefinitionen - Dateiliste online" beschriebene Updatedatei erstellen und hochladen, zusätzlich eine Datei mit der aktuellen Versionsnummer.
Dann muss nur noch wie im Demoprojekt eine Instanz der Klasse TSJAutoUpdater erstellt werden und die Eigenschaften zugewiesen werden. CheckForNewVersion prüft auf eine neue Version, StartUpdate startet dann das Update.
Meine Beispieldateien für die Demo sehen so aus (zum Test einfach einmal z.B. die Readme.txt löschen):
Zitat von
filelist:
Zitat von
versioninfo:
1.6
Getestete Delphiversionen:
Delphi 2006 / Turbo Delphi, Delphi 2007 (andere Versionen funktionieren derzeit definitiv nicht!)
Indy 10 wird benötigt!
Getestete Windowsversionen:
2000, XP, Vista, 7
Windows 9x/ME wird definitiv nicht unterstützt. Der Aufwand aufgrund der unterschiedlichen Architektur wäre zu groß.
Bekannte Probleme:- Es werden kaum Fehlerprüfungen und keine Sicherheitsprüfungen durchgeführt!
Das Projekt habe ich auch hier vorgestellt:
http://www.delphi-forum.de/viewtopic.php?p=575428
http://forum.delphi-treff.de/showthread.php?p=198233
Schönen Gruß,
Sebastian
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!