PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [C++]Wie programmier ich ein Online-update?


pippo
2006-04-18, 11:30:49
Hab hier zwar nur ein kleines Programm, möchte aber trotzdem gern eine Update-Funktion einbauen. Entweder soll beim Programmstart ein Check durchgeführt werden und das Update je nach Wahl heruntergeladen werden oder nicht, oder ein Hinweis mit einem Link erscheinen, dass ein Update verfügbar ist. Das ganze ist jedoch als Konsolenanwendung programmiert :D

Konnte ich google nichtmal anhaltspunkte finden, wie ich sowas angehe

Supa
2006-04-18, 11:47:29
nur so eine idee, wie du es techisch im programm code umsetzt, kp, zumindestens nicht wie du auf online quellen zugreifst.

Ich gehe mal davon aus du hast einen feste adresse, dann packst du auf deinen server eine datei zB "version.bla" und das Programm vergleicht dann den inhalt der Datei mit der versions nummer du dem programm selbst geben hast, wenn also die online version größer ist, dann ist was neues da.

Denke aber du kommst nicht ohne weiteres online, zumindestens nicht mit c++ universal Code (sofern es sowas überhaupt gibt :D), mußt dann wohl schon ein bischen betriebssystem abhängig proggen, zumindestens den teil. Und genau da hört mein wissen auf ;D

vielleicht hilft das: http://www.c-plusplus.de/forum/viewtopic-var-p-is-1026051.html

Coda
2006-04-18, 11:53:00
Ich würde mir mal libcurl (http://curl.haxx.se/) anschauen.

Monger
2006-04-18, 12:54:15
Ich denke, das Updateprogramm muss auf jeden Fall ein eigener Prozess sein, denn sich die eigenen Quellen im Betrieb unterm Hintern wegzureissen ist wahrscheinlich keine so tolle Idee...

Ich denke, du solltest auf der anderen Seite dann auch einen echten Serverprozess laufen haben. Der kriegt eine Anfrage mit einer bestimmten Versionsnummer. Wenn die Versionsnummer kleiner ist, prüft der Server intern welche Dateien neueren Datums sein müssten, und spielt diese zurück.

Da stellt sich aber die Frage, ob sich das sicherheitstechnisch nicht irgendwas quer stellt. Ich kann mir nicht vorstellen, dass ein beliebiges Programm irgendwelche Daten auf den Computer spielen darf. Das ist ja schon fast ein Trojaner...


Ich würde ja vorschlagen, auf bestehende Techniken zurückzugreifen. InstallShield bringt imho nicht nur einen Assistenten zur Installation mit, sondern inzwischen imho auch eine Online Updatefunktion. Da würde ich als allererstes mal einen Blick drauf werfen, bevor man sich mit viel Aufwand etwas halbgares selber bastelt.