Keine Version von Update überspringen

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Trade.

    Keine Version von Update überspringen

    Hallo,

    Ich hoffe ihr könnt mir ein bisschen auf die Sprünge helfen :)

    Hier geht es um eine Lösung für meinen Updater, um das auslassen einer Version zu verbieten.

    Und zwar habe ich auf meinem Server eine Versionsliste als TXT Datei. Diese beinhaltet alle verfügbaren Versionen der zu updatenden Dateien. Sie sieht z.B so aus:

    Quellcode

    1. 1.0.0
    2. 1.0.1
    3. 1.0.2


    Da durch meinen Updater nie die ganzen zu updatenden Dateien gelöscht und neu heruntergeladen werden, sondern nur die neuen Dateien heruntergeladen werden, muss ich Versionssprünge (also z.B von 1.0.0 auf 1.0.2) vermeiden, da sonst nur Fehler auftreten.

    Dafür bräuchte ich eine praktikable Lösung.

    Ich weiß auch, dasses vorhandene Updater gibt, die diesen Job viel besser machen. Aber mir geht es hier 1. um den Lerneffekt und 2. habe ich Spaß daran eine für mich maßgeschneiderte Lösung zu basteln ;)

    Ich hoffe ihr könnt mir helfen 8o

    Mit freundlichen Grüßen

    Niklas
    Naja ist doch eig. nicht viel anders nur das du halt nicht das neuste Update nimmst sondern eben das nächste ab von der aktuellen.
    Wenn dir das ganze so vorliegt wie oben im Code-Tag gehste halt Zeile für Zeile durch und prüfst halt ob aktuelle Version gleich Version in aktueller Zeile ist.... Wenn ja lädst du Aktuelle Zeile +1 runter bzw. updatest es.
    Ich würde dir aber dringend davon abraten es in diesem Stil zu machen weil das Usern mega auf die Nerven geht wenn man ein Programm iwo her installiert und jedes Update einzeln machen muss.
    Das ist:
    a) Zeitaufwändig
    und
    b) Für dich mehr Speicheraufwand (Okey wir reden hier von wahrscheinlich kleinen Datenmengen aber immer hin).

    Übrigens: Updater - Warum sollte man eigene Updater vermeiden?

    Niklas schrieb:

    muss ich Versionssprünge (also z.B von 1.0.0 auf 1.0.2) vermeiden
    Und wenn jemand neu einsteigt und Du bist bereits bei Version 42, muss der arme Mensch da 41 Mal updaten?
    Mach Dir einen Installer, wo immer alles drauf ist.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Du musst Dir halt einen gescheiten Aufbau überlegen. Lade Dir einfach über die Konfiguration auf einmal alle Pakete herunter und installiere diese dann hintereinander. Denn sonst macht das dem User keinen Spaß, wenn er die ganze Zeit neu starten und updaten muss. Dazu kannst Du ja einfach durchiterieren und jeweils über die Version-Klasse dann die Versionen vergleichen. Ich würde btw zu einer anderen Methode der Datenverwaltung tendieren (XML, JSON o. ä.), falls mal Features dazukommen und was neues in die Konfiguration muss, denn dann ist es umso leichter das zu verarbeiten.

    Niklas schrieb:

    Aber mir geht es hier 1. um den Lerneffekt und 2. habe ich Spaß daran eine für mich maßgeschneiderte Lösung zu basteln

    Jo, aber bitte vernünftige Validierung mit RSA 4096 Bit + SHA512.
    de.wikipedia.org/wiki/Asymmetrisches_Kryptosystem

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!: