Inspiriert durch diesen
Thread, möchte ich mal ein kleines Tutorial für ein einfaches WebUpdate vorstellen.
Voraussetzungen:
- Progammiersprache, welche auf .DLL's zugreifen kann
- WUSDLL.DLL
- geeigneter Header
Am Beispiel von Delphi (welche Version auch immer), hier Consolenapplikation, da wir es ganz einfach haben möchten, nehmen wir die Zeile
uses ... WUSDLLInterface;
mit in die Programmdatei mit auf.
Am Programmstart prüfen wir auf neue Updates
Delphi-Quellcode:
var
UpdatesAvailable: Integer;
begin
try
//Check if Updates available and download the Archives
UpdatesAvailable := CheckAndDownload(pWideChar(paramstr(0)),
pWideChar(ExtractFilePath(paramstr(0))),
pWideChar('
http://localhost/myUpdatelist.WUS'),
pWideChar('
1.0.0.0'),
Trunc(now));
//i. e. Present Date as Param
und laden auch gleich die zugehörigen Archive aus dem Netz.
Wenn das Programm beendet wird und wir ausreichend berechtigen haben, so installieren wir die Updates
Delphi-Quellcode:
// Updates available, then install it
if UpdatesAvailable = 0
then //Updates available and the achives verify is o.k.
if Check4InstallationRights = 0
then //Authorization is given
Install(pWideChar(paramstr(0)),
pWideChar(ExtractFilePath(paramstr(0))),
pWideChar('
http://localhost/myUpdatelist.WUS'),
pWideChar('
1.0.0.0'),
Trunc(now))
//i. e. Present Date as Param
else
;
//Insufficiend privilige
Dazwischen machen wir das, was man mit dem Programm im allegemeinen tut, wir lassen es arbeiten
Das war es auch schon. War doch gar nicht soooo schwer, oder?
Mhhh, jetzt hätten wir doch beinahe das wichtigste vergessen, woher soll das Programm denn wissen, ob Updates vorhanden sind, wo die Archive liegen und welche Dateien wohin installiert werden sollen? Hierzu erstellen wir mit dem Composer die Updateliste, mit den Parametern, Dateien und Verzeichnisinformationen. Diese bringen wir dann zu den Adressen, die hinterlegt sind. Das WUS muß dann nur noch Wissen, wo die Updateliste im Netz zu finden ist (Aufrufparameter). Den Rest kann wird im über die Updateliste mitgeteilt.
So, hoffe mal, das WebUpdate ist jetzt nicht zu kompliziert geworden (3 Zeilen Pascalkode
) Der Download zum WUS (mit Hilfe und Composer) ist
hier zu finden. Dort werden auch die Aktualisierungen des WUS gepostet.
Hier noch das ganze (lauffähige) Demoprogramm inkl. Fehlerbehandlung:
Delphi-Quellcode:
program Demo;
{$APPTYPE CONSOLE}
uses
SysUtils,
WUSDLLInterface;
var
UpdatesAvailable: Integer;
begin
try
//Check if Updates available and download the Archives
UpdatesAvailable := CheckAndDownload(pWideChar(paramstr(0)),
pWideChar(ExtractFilePath(paramstr(0))),
pWideChar('
http://localhost/myUpdatelist.WUS'),
pWideChar('
1.0.0.0'),
Trunc(now));
//i. e. Present Date as Param
{
Do Something
}
// Updates available, then install it
if UpdatesAvailable = 0
then //Updates available and the achives verify is o.k.
if Check4InstallationRights = 0
then //Authorization is given
Install(pWideChar(paramstr(0)),
pWideChar(ExtractFilePath(paramstr(0))),
pWideChar('
http://localhost/myUpdatelist.WUS'),
pWideChar('
1.0.0.0'),
Trunc(now))
//i. e. Present Date as Param
else
;
//Insufficiend privilige
except
on E:
Exception do
Writeln(E.ClassName, '
: ', E.
Message);
end;
end.
BTW: Die WUSDLL.dll sollte man dem Programm beilegen und in dem selben Ordner ablegen, wie das eigentliche Hauptprogramm.