Update Maker

  • Hallo.

    Ich habe mal eine Frage. Nicht das ich das schon könnte, aber hat mal jemand einen "Updatemaker für Software" gemacht?

    Technik:
    Ich habe zum Beispiel einn eigenes Programm mit, sagen wir mal 50 Dateien, drei unterordner und da sind auch Dateien drinne. Dieses habe ich an Freundinnen weiter gegeben, aber als Setup-Datei. In diesem Setup wird in den Ordner, den ich installiere eine version.txt mit installiert.

    Nun habe ich davon einige Dateien verändert und eine neue version.txt geschrieben. In dieser kann man ja eventuell eintragen, welche Dateien sich verändert haben.
    Anhand eines Abgleichs der Dateien version.txt wird geprüft, ob ein Update durchzuführen ist und wenn, welche Dateien neu / verändert sind.

    Das ganze dann mit einem schönen GUI, das wäre doch mal was, oder? Aber bis ich soweit bin, ist das Jahr vorbei, denn dafür müßte ich erst einmal minimal 100 Seiten mit dem Kuli füllen, damit ich dann daran gehen könnte das umzusetzen.

    Aber die Idee selber finde ich doch gar nicht so (d)übel, da hier doch viele sind, die gemeinsam an einer Sache arbeiten und so könnte man sich gegenseitig bzw. auch in kleinen gruppen bei Projekten auf den laufenden halten.

    Nun, wie geschrieben, das war eine allgemeine Anfrage und ich würde einfach gerne mal wissen wie Ihr dazu steht.

    Gruß, Lina.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Ja, Galender habe ich auch bereits getestet und ist gruvi !!!

    Aber da ist alles so dich, da kommt man ja nicht an die Updateroutine (?) ran ;)

    Liebe Grüße, Lina.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • In einem Tool von mir benutze ich eine entsprechende Routine.
    Vom Grundprinzip läuft es so:
    Eine Datei auf einem Server enthält lediglich eine Information über die Version einer Datei (hier als Ini-Datei realisiert).
    Im Skript selbst wird diese Version mit der internen Variablen $ver verglichen welche die aktuelle Version des Skriptes enthält.
    Ist die Datei auf dem Server neuer dann wird sie runtergeladen.

    Ist wie gesagt jetzt nur mal direkt aus dem Tool rausgenommen - musst dir halt noch ziemlich anpassen - das Grundkonzept könnte aber vielleicht erstmal helfen.
    Prinzipiell könnte man noch das Skript selbst updaten lassen in dem man eine Batch erstellen lässt usw. das war hier aber nicht nötig.

    Vielleicht hilfts weiter:

    [autoit]

    ;=================================================================================
    ;
    ; Function Name: _Update()
    ; Description: Überprüft ob Updates des Skriptes vorhanden sind und läd
    ; es gegebenenfalls herunter.
    ; Parameter(s): -
    ; Return Value(s): -
    ; Author(s): AspirinJunkie (https://autoit.de/www.German-NLite.de)
    ;
    ;=================================================================================
    Func _Update()
    If InetGet('http://downloads.german-nlite.de/updatepacks/optupdate.ini', @TempDir & '\optupdate.ini', 1, 0) Then

    If IniRead(@TempDir & '\optupdate.ini', 'Infos', 'Version', $Ver) Then
    $sion = StringStripWS(StringReplace( IniRead(@TempDir & '\optupdate.ini', 'Infos', 'Comfort', $Ver), '.', ''), 8)

    If $sion > $Ver Then

    If MsgBox(68, "neue Version vorhanden", "Es ist eine neue Version des Comfort Installers vorhanden" & @CRLF & 'Wollen sie die neue Version herunterladen?') = 6 Then

    $UpdateFile = FileSaveDialog("Speichern nach", @DesktopDir, "exe (*.exe)", 2 + 8 + 16, "Comfort.rar")
    $Igroesse = InetGetSize('http://downloads.german-nlite.de/tools/installationstools/comfortinstaller.rar')

    InetGet('http://downloads.german-nlite.de/tools/installationstools/comfortinstaller.rar', $UpdateFile, 1, 1)
    ProgressOn("Download", "Downloadfortschritt:", '0 %')
    Do
    If @InetGetBytesRead = -1 Then ExitLoop
    If Round((@InetGetBytesRead * 100) / $Igroesse) > $entflackern Then
    ProgressSet((@InetGetBytesRead * 100) / $Igroesse, Round((@InetGetBytesRead * 100) / $Igroesse) & ' %')
    $entflackern = Round((@InetGetBytesRead * 100) / $Igroesse)
    EndIf
    Until @InetGetActive = 0
    $entflackern = 0
    ProgressOff()
    If @InetGetBytesRead = -1 Then
    MsgBox(48, "Download misslungen", "Download nicht erfolgreich beendet")
    Else
    MsgBox(64, "Download erfolgreich", "Download erfolgreich beendet")
    EndIf
    EndIf
    Else
    MsgBox(64, "Hinweis", "keine neue Version vorhanden")
    EndIf
    EndIf

    Else
    MsgBox(16, "Fehler", "kein Zugriff auf den Server möglich")
    EndIf
    FileDelete(@TempDir & '\optupdate.ini')
    EndFunc ;==>_Update

    [/autoit][autoit][/autoit][autoit]

    ;=================================================================================

    [/autoit]
  • Hallo ASS-Junkie ;)

    Genau so etwas in der Art meine ich.

    Ich werde es heute nicht mehr schaffen zu testen, aber vielleicht morgen.

    Gruß, die Lina.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Hallo alle zusammen.

    : th.meger
    Das Teil verstehe ich sogar :schild4:

    : AspirinJunkie
    Das habe ich zwar verstanden, aber nicht zum laufen bekommen.

    : allgemein
    Da es mir nicht gut geht, werde ich wohl heute nicht viel hier sein. Aber Danke an Euch drei !!!

    Liebe Grüße, Lina.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl