![]() |
TMSWebUpdate - eine neue WebUpdate-Komponente
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Listers,
vor gut einer Woche hatte ich entgültig die Nase voll. Ich suchte eine Komponente für ein automatisches WebUpdate, Internet-Update, ganz wie ihr wollt. Entweder es gab lauter teures Zeug, oder Freeware, die zwar gut, aber meist recht wenig anpassbar war, dann noch ein paar Schnipsel hier, ein Textchen da, ein Code-Teilchen wo anders.... Also gut, selber schreiben... Und hier ist das Ergebnis. TMSWebUpdate ist ganz sicher nicht neu, aber - Freeware mit Source - Einfach zu integrieren - Anpassbar, also keine Formulare die schon mit dabei sind - Flexibel, was die Anzahl der runterzuladenden Dateien angeht - Flexibel beim format der Steuerdatei auf dem Server. - Nicht erst ab Delphi 2006 enterprise lauffähig. ;-) - Auf Indy basierend, also geht ab Delphi 5. Webupdate schaut auf einem Server in einer Infodatei nach, ob eine neuere Version, als die aktuelle, vorhanden ist. Falls ja, können eine, oder mehrere Dateien, heruntergeladen, und ggf. eine davon als Update ausgeführt werden. Dazu einfach die Komponente auf die form. Die zwei eigenschaften UpdateURL und IniName müssen natürlich ausgefüllt werden. UpdateUrl ist die Adresse zur ini-datei also z.B. ![]() (http und / am ende werden automatisch ergänzt) IniName ist der Name der Datei, in der die Infos über ein evtl. Update stehen, also beispielsweise MeinProg_Update.html Und MeinProg_Update.html könnte dann ungefähr so aussehen: [Version] Major=1 Minor=0 Release=0 Build=99 [File001] Name=MeinProg_Update.exe Start=1 [File002] name=EinSound.wav Path=sounds [New] Ein Fehler beim entgültigen löschen von Dateien wurde beseitigt. Mehrere kleine Sachen sind jetzt leider kaput. Ich bin noch dran! ;-) ... Alles was nach dem Schlüsselwort [New] steht, wird gnadenlos als WhatsNew angezeigt, dann zu finden in der WhatsNewListe der Komponente. Ach ja, die Anweisung zur Prüfung heißt CheckForUpdates. Das war’s schon, und 6 Ereignisse OnUpdatefound OnNoUpdateFound OnDownloadProgress OnDownloadComplete OnNextFile und OnError Gibt’s natürlich auch noch. So. und nun wünsche ich viel spaß beim ausprobieren, testen, einsetzen, was auch immer. Ich würde mich über verbesserungsvorschläge, wünsche, anregungen, kritik, besonders über Lob, natürlich sehr freuen. Wenn bedarf ist, können wir auch gerne ein Projekt daraus machen. Viele Grüße Marco |
Re: TWebUpdate - eine neue WebUpdate-Komponente
Hört sich gut an,einfach und geradeheraus :thumb:
Geht's auch ohne TComponent-heritage, also einfach als TObject? Wäre schon cool...... 8) |
Re: TWebUpdate - eine neue WebUpdate-Komponente
kann man die heruntergeladenen dateien auch in ein anderes verzeichnis packen, bespielsweise "%MeineAnwendung%\Resourcen\blah\" ?? oder müsste das per update.exe im temp geschehen?
ansonsten: supi :D |
Re: TWebUpdate - eine neue WebUpdate-Komponente
Hi WebCSS,
Zitat:
|
Re: TWebUpdate - eine neue WebUpdate-Komponente
Zitat:
Ist eigentlich auch ne einfache Geschichte: einfach per Compiler-Switch die class auf TComponent oder TObject, und den Constructor ebenso, das ist alles... Schau es Dir einfach mal an. |
Re: TWebUpdate - eine neue WebUpdate-Komponente
Hallo again,
so. Dann machen wir mal ‚n kleines ChangeLog auf: - die Klasse TWebUpdate kann jetzt als TComponent oder TObject kompiliert werden (Compilerdirektive). Danke an WebCss. - Es wird in der Info-Datei zwischen einem direkten und indirekten Update unterschieden. Beim direkten update wird die anwendung geschlossen und dann eine batchdatei ausgeführt, die die alte anwendung löscht, (natürlich mit Pause vorher), die update umbenennt und sie dann wieder startet. Beim indirekten wird die als erstes angegebene Datei einfach ausgeführt, für ein Update-Programm, beispielsweise mit Inno Setup erstellt. - Es ist jetzt für jede Datei, die ins Programmverzeichnis soll, möglich, sie in ein Unterverzeichnis des Programmverzeichnisses zu packen, die werden auch automatisch erstellt. Vielen dank an Crazy Ivan. Das geht nur im Programmverzeichnis, damit’s erst gar kein gehampel mit Vista gibt, und im Temp-Verzeichnis würde das, meiner Meinung nach, keinen wirklichen sinn machen. - Eine ReadMe ist inzwischen auch da! - Und auch ein Demo-Programm für’s direkte Update, das indirekte kommt noch. Ach ja, die url ![]() Schaut’s euch mal an, aktualisiert, wie immer, im ersten Beitrag. Bin weiter gespannt auf Verbesserunsvorschläge, Wünsche kritik und alles andere. Viele grüße Marco |
Re: TWebUpdate - eine neue WebUpdate-Komponente
super, dankeschön, werd's demnächst mal testen!
eine sache fällt mir noch ein: ne liste mit downloadservern, die nach und nach abgeklappert werden, ähnlich wie z.B. Antivir das macht.... |
Re: TWebUpdate - eine neue WebUpdate-Komponente
Hallo
Ich bin noch anfänger und ich hab ein problem. Ich bekomm die komponente nicht installiert. Ich hab delphi 2007, aber wenn ich sie auf "neue vlc komponente" gehe und dann alles angebe passiert nichts. Was muss ich denn machen um die Komponente richtig zu installieren? wäre nett wenn mir das jemand sagen könnte, denn ich werde aus dem readme net schlau |
Re: TWebUpdate - eine neue WebUpdate-Komponente
Hallo und Willkommen Pif,
du musst eine Komponente in ein Package installieren, das dient quasi als Conteiner für mehrere Komponenten. Du könntest über "Neu" ein neues Package erstellen oder ein vorhandenes nehmen. Denke dann auch daran, den Suchpfad anzupassen (unter Tools > Optionen > Delphi-Optionen) Notfalls kannst du die Komponente auch erst zur Laufzeit erstellen, dann musst du sie nicht in die Palette installieren. Gruß Pfoto |
Re: TWebUpdate - eine neue WebUpdate-Komponente
Hallo Pfoto
Danke für deine hilfe, das mit dem package habsch begriffen. aber wenn ich das installieren will kommt ein fehler im quelltext der komponente
Delphi-Quellcode:
[DCC Fehler] WebUpdateThread.pas(39): E2009 Inkompatible Typen: 'Liste der Parameter ist unterschiedlich'
fIdHTTP.OnWork := InternalOnWork;
Mach ich da was falsch oder liegt es am quellcode? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:19 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