Die Funktionsweise ist eigentlich ganz simpel. Dein Programm muss die eigene Version mit einer Version im Web vergleichen können. Ist die Version im Web rezenter, so ist ein Update vorhanden, und kann geladen werden.
Dazu reicht es im Primzip eine Versionsdatei im Web zu hinterlegen, die DU bei einer neuen Version deines Programms entsprechend anpassen musst. In diese Versionsdatei kannst Du natürlich im Prinzip auch noch mehr hinterlegen wie ein reiner Versionsvergleich,z.B. eine Liste der neuen Features in der neuen Version. Die könntest Du somit schon deinen Endusern vor dem Download der neuen Version anzeigen lassen.
Vielleicht hilft Dir meine
Internetupdate Komponente weiter, die genau das eben beschriebene macht, nur halt bequem in eine Komponente ausgelagert. Zudem, wenn Dir die Erstellung der Versionsdatei zu aufwendig ist, so kannst Du zusätzlich auch noch mein Progrämmchen Rema einsetzen (cf. Signatur). Damit kannst Du dann per Mausklick eine neue Version freischalten, mit Anzeige der neuen Features. Vielleicht interessierts ja.