Updater - welche möglichkeit ist am besten

  • Allgemein

Es gibt 15 Antworten in diesem Thema. Der letzte Beitrag () ist von aligator.

    Updater - welche möglichkeit ist am besten

    Hy
    ich will nen updater programmieren, aber wie mach ich des am besten? in der sufu hab ich schon verschiedene Lösungswege gefunden, aber was ist die beste art?
    wie macht ihr es denn?
    :P Mfg Aligator :P
    Mein System arbeitet folgendermaßen: Ich habe am Server eine Datei namesn App.inf (Also im INI-Stil). In der steht z.B. geschrieben:

    Quellcode

    1. Version=1
    2. SubVersion=0
    3. ...
    Beim Updatecheck in der Anwendung lade ich diese Datei herunter und vergleiche Version und Subversion mit einer im Code angegebenen Konstante (bzw. mehrere Konstanten). Wenn diese Konstanten kleiner sind, dann wird die neue Datei vom Server heruntergeladen, und durch ein VBS-Skript (welches automatisch generiert wird und anschließend wieder gelöscht wird) ersetze ich dann die alte mit der neuen Datei. Ist aber auch nur einer von vielen Lösungswegen.
    Achja übrigens: kevin89 hat mich mit dem VBS-Skript inspiriert :D
    (ich bin bis jetzt so weit, dass ich die version vergleich, ist aber auch kein kunststück...)
    und durch ein VBS-Skript (welches automatisch generiert wird und anschließend wieder gelöscht wird) ersetze ich dann die alte mit der neuen Datei
    was ist VBS - script :?:
    und wie generiert man den automatisch :?:
    :P Mfg Aligator :P
    VBS ist eine Skriptsprache (hat sehr viele Ähnlichkeiten zu VB6), und er Interpreter für VBS ist ab Windows95 in jedem Windows dabei (CScript.exe bzw WScript.exe), das ermöglicht also, dass es auf jedem Windows-System ausgeführt werden kann ^^ So ein Skript muss die Endung *.vbs haben und wird ganz normal mit Process.Start() o.ä. aufgerufen ^^
    Einfach mal googlen, gibts genug Unterlagen für
    ich schaus mir mal an.

    in dem script müssten dann doch in etwa folgende punkte bearbeitet werden:

    alte dat. löschen und neue runterladen (mit ftp???)
    prog starten

    und dann im prog schaun, ob die scriptdatei da ist und wenn ja, dann löschen.


    ist des richtig so?
    :P Mfg Aligator :P
    Das System ist eig. simpel.
    Erstell auf nem Server eine XML-Datei, die in etwa so aussieht:

    XML-Quellcode

    1. <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    2. <Update>
    3. <NewVersion>2.3</NewVersion>
    4. <WhatsNew>Jetzt auch OHNE Geschmacksverstärker!</WhatsNew>
    5. </Update>


    Dann lädst du die Datei irgendwo hin, und liest sie in VB so aus:

    VB.NET-Quellcode

    1. Dim reader As New XmlTextReader(xmlpath)
    2. reader.ReadStartElement()
    3. reader.ReadStartElement()
    4. 'NewVersion
    5. MessageBox.Show("Es ist eine neue Version verfügbar: " & reader.ReadContentAsString, "Update verfügbar")
    6. reader.ReadEndElement()
    7. reader.ReadStartElement()
    8. 'WhatsNew
    9. MessageBox.Show("Änderungen gegenüber der vorherigen Version: " & reader.ReadContentAsString, "Änderungen")
    10. reader.ReadEndElement()
    11. reader.ReadEndElement()
    12. reader.Close()


    Edit: Ach ja, evtl. noch den Downloadpfad für das Programm mit in die XML-Datei schreiben, dann allerdings den Code anpassen. ;)
    mein problem ist vor allem, die alten dateien zu ersetzen. vbs ist wohl ne gute möglichkeit. benötigt aber einarbeitungszeit.
    hab nämlich noch kein vb 6.0 geprogt...


    MySQL und PHP...

    ich kann php noch überhaupt nicht. ich schau mir grad erst den syntax usw davon an...
    :P Mfg Aligator :P
    ja... ich probiers jetzt mal erst mit vbs.

    also ich will die dateien downloaden in einen Temporären Ordner

    (wie mach ich des, dass er mir den downloaderfortschritt anzeigt?)

    und dann mit einem vbs script des alte durs neue ersetzen (den code dafür hab ich gefunden :thumbsup: ist echt ganz einfach)
    und dann des neue prog starten und den vbs script wieder löschen.
    :P Mfg Aligator :P