D
Kommt drauf an wie groß das Programm ist.
Die einfachste und schnellest methode wäre so:
Gib deinem Programm immer Versionsnummer.
Einmal mit der Eigenschaft für die .exe Datei (Was man im BCB einstellen kann) und einmal als Hardgecodeten String.
AnsiString strVersion = "1.0";
Im deinem Programm baust du dir die Update funktion ein (mit HTTP-Komponente, damit du auch HTTP sprichst mit dem WebServer).
Da kannst du deinem Programm auf diese URL schicken:
AnsiString strUpdateURL = "http://update.freeze.de/index.php?id=UltraEdit&method=check&CurrentVersion=" + strVersion;
So. Das wäre das erste für das Programm...
Dann programmiert du eine PHP-Datei die diese Argumente verarbeitet.
Die Ordner Struktur vom webserver (wo update.freeze.de hinleitet) könntest du so machen:
/upudates/UltraEdit
In diesem Ordner hast du dann 2 Dateien.
Einmal eine update.ini und dann update.exe.
Update.exe ist ein installer was dein PRogramm updatet.
In der update.ini könntest du das eintragen:
update.ini schrieb:
[Update]
Version=2.0
Programm=UltraEdit
Das PHP Skript hat ja die Parameter id,method und CurrentVersion übergeben bekommen.
So mit geht das PHP Skript in den entsprechenden Ordner und parst die update.ini aus.
Dann nimmt sich das PHP-Skript den Wert vom Key "Version" und vergleicht den Wert mit der Variable "CurrentVersion".
Daran sieht du, das der User die Version 1.0 hat, aber auf dem Server schon eine Version 2.0 gibt.
PHP gibt dem PRogramm das eine neue Version gibt.
Dein Programm muß dann auf so eine URL zugreifen, wenn es eine neue Version gibt:
AnsiString strUpdateURL = "http://update.freeze.de/index.php?id=UltraEdit&method=update&CurrentVersion=" + strVersion;
Das PHP-Skript sollte dann die Datei an dein Programm weiterleiten...
Das PRogramm speichert die DAtei irgendwo hin (Temporären ORdner).
Das PRogramm führt nachdem Download die datei aus und beendet sich gleichzeitig.
Der Rest muß das Update-Installer selber machen.
Wenn es kein update gibt, muß dein Programm ja nix mehr machen..
Hoffe das ist verständlich.
Sonst frag einfach oder per ICQ.