![]() |
SJ Updater Utils 0.6 beta 1 - Updater für eigene Projekte
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo!
Nach den ![]() Wichtig: Sicherheitsmerkmale sind noch nicht vorhanden. Die downgeloadeten Updates werden also noch nicht geprüft! Features:
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:
Zitat:
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:
Das Projekt habe ich auch hier vorgestellt: ![]() ![]() Schönen Gruß, Sebastian |
Re: SJ Updater Utils 0.5 alpha 1 - Updater für eigene Projek
Hallo Sebastian
Woran liegt es, dass es derzeit noch inkompatibel zu XP (/2000) ist? |
Re: SJ Updater Utils 0.5 alpha 1 - Updater für eigene Projek
Dass ich XP auf keinem Rechner mehr richtig installiert habe und es deshalb im virtuellen PC gerade erst gemerkt habe. Anscheinend klappt die alte Rechteverwaltung nicht so wie ich es für Vista gemacht habe, denn es kommt ein "Zugriff verweigert", ich weiß noch nicht genau wo. Ich werde das dann in einem virtuellen PC mit Turbo Delphi noch näher untersuchen.
Das heißt ich werde es natürlich noch so anpassen, dass es ab zumindest Windows 2000 funktioniert. Im Moment habe ich aus beruflichen Gründen allerdings wenig Zeit. Deshalb ziehen sich alle Projekte stark in die Länge. Aber ich kümmere mich noch darum. |
Re: SJ Updater Utils 0.5 alpha 1 - Updater für eigene Projek
Es gibt eine neue Version.
Neuerungen:
|
Re: SJ Updater Utils 0.5 alpha 4 - Updater für eigene Projek
Es gibt wieder eine neue Version. Neue Features gibt es nicht, es sind aber einige Fehler korrigiert.
Es werden jetzt nicht unnötig viele Fenster beim Update angezeigt. Außerdem läuft der Updater ein wenig flüssiger (wenn auch noch nicht so wie es sein sollte). Zwei Probleme sind noch nicht gelöst: Erstens hängt das Programm, wenn die Internetverbindung schlecht ist und beim Update abbricht. Zweitens werden Textdateien nicht "as-is" heruntergeladen sondern kommen (bei meinem Server) mit UNIX-Zeilenumbrüchen an. Ich plane allerdings ohnehin gepackte Updatedateien zu verwenden, das erschlägt dann gleich mehrere Probleme (CRC-Check + unveränderte Dateien). Wann ich dazu komme weiß ich allerdings noch nicht. |
Re: SJ Updater Utils 0.5 alpha 4 - Updater für eigene Projek
Zitat:
|
Re: SJ Updater Utils 0.5 alpha 4 - Updater für eigene Projek
Indy, IdHttp, das ist es ja was mich wundert. Eigentlich sollte das da gar nicht passieren, ich bin noch dabei zu untersuchen was da eigentlich passiert. Denn es kann ja sein, dass das nur am Webserver liegt und der das so ausliefert. Deshalb die Betonung auf meinen Webserver.
Ich weiß allerdings nicht, ob ich das irgendwie durch Accept-Parameter des Requests oder sowas ändern kann. Letztlich ist aber die einzige sicherere (und ohnehin sinnvollste) Variante gepackte Dateien zu verwenden. Ich bin bisher nur noch nicht dazu gekommen eine Open Source Packlösung zu integrieren (oder direkt die von Indy zu benutzen, mal sehen). |
Re: SJ Updater Utils 0.5 alpha 4 - Updater für eigene Projek
Diese Änderung selber führt der Server durch, obwohl ich sowas eigentlich eher von FTP kenn, als von HTML ... wenn da eine Datei im "Textmodus" versendet/empfangen wird, dann ließt der Server diese Datei Zeilenweise aus und fügt seine eigenen Zeilenumbrüche wieder ein.
Hast du mal nachgesehn, ob die Dateien auch wirklich mit deinem Windows-Zeilenumbruch hochgeladen wurden? |
Re: SJ Updater Utils 0.5 alpha 4 - Updater für eigene Projek
Argh, danke, mein Releaseskript nimmt den Textmodus bei Textdateien zum Upload :wall: (ein Klick und das Projekt wird neu erstellt, das Setup und die Pakete erstellt und alles hochgeladen). Das habe ich bisher nur bei keinem Projekt bemerkt, weil da nie Textdateien dabei waren.
Also alles ok, es funktioniert. Bleibt nur noch das Problem mit dem Abbrechen der Internetverbindung. Dazu muss ich auch diesen Vorgang "parallelisieren" in einem eigenen Thread, das ist dann schon alles. |
Re: SJ Updater Utils 0.5 beta 1 - Updater für eigene Projekt
Es gibt eine neue Version, jetzt mit recht flüssiger Fortschrittsanzeige, ein Bug bei der Abstimmung via IPC ist behoben, außerdem gibt es komplette Unterstützung der aktuellsten Indy Version (alte ab Version 10 gehen über einen Compilerschalter aber weiterhin auch). Diese Version veröffentliche ich als Beta 1, da diese soweit stabil läuft auf den angegebenen Plattformen und mit den angegebenen Delphiversionen.
Die Beta 2 wird dann alle geplanten Features wie eine Packfunktion und parallelisierte Downloads enthalten. Leider konnte ich auch nach längerer Fehlersuche den Fehler unter Delphi 2010 nicht finden. Es funktioniert also derzeit mit Delphi 2009 und 2010 nicht. Ich kann nur vermuten, dass da irgendetwas am Speicher oder bei der Threadsynchronisation schief geht. Das untersuche ich noch, kann aber keine rasche Lösung in Aussicht stellen, da ich wirklich noch keine Idee habe was das Problem ist. Was passiert: Die erste Instanz stürzt ab nachdem das Update eigentlich bereits durch ist. Beim Beenden gibt es dann eine Exception beim Aufräumen nach OnDestroy des Formulars. Zudem gibt es einen Zugriffsfehler bei den Updateroutinen, wenn diese bei Indy aktiviert sind, vermutlich beim Zugriff auf die Fortschrittsanzeige. Das lässt mich auf die genannten beiden Probleme als mögliche Ursache tippen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:10 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