AutoUpdate?

  • Hallo, ich habe jetzt ein Programm geschrieben und ich weiß aber nicht wie ich es hin bekomme, das er beim Programm start nach einem Update auf einem Webserver oder so sucht und das runterläd (und mit der alten exe und versions.ini/.txt überschreibt) und dann das programm neu startet


    Das programm ist ein mBot manager, und es hat unten eine checkbox (die direkt aktiv ist) zum autoupdate beim programm start, kann mir da jemand weiter helfen?


    hatte mir das so vorgestellt:


    • Im source code checkbox aktiv
    • programm start = suche nach update
    • update gefunden = runterladen und mit alter exe und versions ini oder txt ersetzten = programm neustarten
    • update nicht gefunden = programm starten
    • autoupdate per checkbox deaktivieren/aktivieren = in config/settings ini [AutoUpdate]Update=true/false = nach dem programm geschlossen wird = speichern

    So das sind eigentlich die sachen die ich bräuchte, kann mir da jemand helfen?
    Per google finde ich nicht wirklich was!

  • Die Updatesuche kann auf viele Arten vollendet werden.
    Eine Textdatei auf dem Server mit der neuesten Programmversion (benutz ich beim SBot Manager, ist zwar nicht das schönste, klappt aber zuverlässig).
    Per TCP-Verbindung.
    Quellcode von Webseite analysieren (benutz ich auch beim SBot Manager um nach neuer SBot Version zu suchen)
    Gibt natürlich noch andere Möglichkeiten aber die reichen eigentlich für dein Vorhaben.


    Das ersetzen der eigenen exe geht natürlich nicht so, da geöffnete Dateien nicht ersetzbar sind. Als Übergang würde ich eine batch Datei nehmen, also folgendes:
    1. Programm lädt Update herunter
    2. Programm erzeugt batch-Datei und führt sie aus, danach schließt das Programm sofort
    3. Batch-Datei ersetzt alte Programmdatei mit neuer und führt neue aus


    Das ist erstmal die Vorgehensweise. Ich weiß jetzt allerdings nicht, was du kannst und was nicht. Ist nicht deutlich geworden aus deinem ersten Post. Deshalb lasse ich das erstmal so stehen.

  • Ja genau, so wie du es bei deinem sBot Manager gemacht hast war es top, ich kann so gut wie kaum was mit autoit (bin gerade etwas am rum lernen) und das was du dort geschrieben hast, habe ich im autoit forum auch gefunden mit batch datei etc. genau das habe ich gemeint. mit version auf dem web server etc.

  • mach was draus...


  • Hier ist einmal was ich mir zusammen gesucht und bisschen rumprobiert habe.
    Es klappt zu 100% , kann sein das der Code auch teils von S3cret ist.
    (Also S3cret nicht sauer sein :P)


    In den Datein ist eine dll , version.txt , changelog.txt, au3 Script.
    DL:Link: http://the-franky.de/Dokumente.rar


    Ja das ist auch ok, aber ich suche ja was wo direkt in der exe ist (ohne das man sperat auf update.exe oder so gehen muss also kein manuelles updaten) und ich komm auch net richtig klar mit dem script da er mir immer sagt das ich kein inet habe

  • Du kannst den Code ja son bisschen anpassen das bei der *exe erst der Code ausgefürt wird und dann das Programm gestartet wird.
    Also wenn du mit der Funktion einfach beginnst :)


    _ClickUpdateCheck()


    Dann brauchst du das start gui auch garnicht.