Eigenes Programm auf Updates überprüfen

  • VB.NET

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von Samus Aran.

    Eigenes Programm auf Updates überprüfen

    Ich weiß, es gibt schon ein Thema, darin war auch alles so beschrieben, wie mich mir das gedacht hatte.

    Zitat
    1. Du erstellst eine Textdatei mit der Aktuellsten Version (1.2.3.4)
    2. Lade diese auf deinen Server hoch
    3. Wenn der User XY auf "Update" Klickt, wird diese Textdatei gestreamt.
    4. Wenn der Wert (Version) in der Textdatei größer als dein Programm, heißt es das ein Update vorhanden.
    Zitat Ende

    Die Textdatei, z.b. Version.txt auf den Webserver in Rootverzeichnis zu uppen, ist kein Problem. Fragen hab zum 3. Punkt. Wie "streamt" man diese Textdatei? Im meinem Programm gibt ein Menüpunkt, der auf meine Webseite führt:

    VB.NET-Quellcode

    1. System.Diagnostics.Process.Start("http://alaklasis.space4free.net")


    Aber wie streame ich eine Textdatei im Internet? Kann mir dazu jemand einen Beipielcode posten. Das wäre schön!
    Du könntest auch einfach updatesystem.net/ oder ThuCommix's smartUpdate benutzen: [Release] smartUpdate - Dein Intelligentes UpdateSystem 1.2.6.0

    Wobei wenn du eines der beiden benutzt entfehle ich dir UpdateSystem.NET das Teil ist spitze!
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    Danke für die zwei Tipps. Der erste ist unpassend für mich, denn denn beim Update soll eine aktualisierte Setup.exe geladen werden. Das Programm wird bei Ausführen des Setup das Programm deinstallieren (Datendateien und Einstellungen bleiben aber erhalten) und dann neu installieren. Der 2. Tipp hat einen Haken. Unterstütze Betriebssysteme bei .net Framework 4.5 sind Win Vista und Win 7, nicht aber Win XP. Mein muß aber auch unter Win XP funktionieren, das ein Teil der User Win XP auf Ihrem Rechner haben.

    Eigentlich soll nur die Textdatei gestreamt werden, etventuell noch Changelog.txt, um dem User die Neuerungen anzuzeigen, und dann von meiner Homepage die neueste Version laden.

    Also, wie schaff ich eine Textdatei vom Webserver in VB 2010 rein? Dort sollte die Textdatei analysiert werden und dem User der Vorschlag gemacht werden, auf die Homepage zu gehen und sich das neueste Setup zu downloaden.
    Warum ist Tipp 1 unpassend? UpdateSystem.Net kann genau das, was du willst.
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    updateSystem.NET unterstützt .NET Framework 2, also XP bis Win8. Und was meinst du mit Setup.exe laden, deinstallieren etc.? updateSystem.NET hat nichts derartiges und das von ThuCommix auch nicht. Wieso ein Setup laden und das ganze neu installieren?

    updateSystem.NET lädt ganz normal Updates und installiert(kopiert) diese mit dem Update Prozess. Im Grunde auch nur das was du vor hast, nur eben bereits fertig und mit einigen Möglichkeiten mehr.


    Wenn du dennoch das ganze selber machen willst: Wie gesagt WebClient.DownloadString, damit bekommst du den Inhalt deiner txt als String.
    Bessere Frage, wo liegt der Unterschied zwischen Daten austauschen und komplett neu installieren?
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    Hat geklappt!

    Die Methode von thucommix hat nach einigem Nachbessern des Beipielcodes von Microsoft geklappt.

    VB.NET-Quellcode

    1. Private Sub DownloadString()
    2. address = "http://alaklasis.space4free.net/info.txt"
    3. Dim client As WebClient = New WebClient()
    4. Dim reply = client.DownloadString(address)
    5. y = reply
    6. Debug.Print(y)
    7. End Sub

    address und reply hab ich vorher als Strings deklariert.Hab jetzt den Text als String zur Weiterbearbeitung. Zur Frage von fichz. Mein Setuperzeugerprogramm "wItem Installer ver.4.5.13" kann leider nichts anderes als mein Programm erst zu deinstallieren, zumindest hab ich keine Einstellungsmöglichkeiten gesehen, wie man einzelne Datei austauscht. Vielleicht weiß einer ein besseres Programm um Setup's zu erstellen...

    Aber vorher erst mal vielen Dank für eure Postings :P
    Was aber, wenn innerhalb des laufenden Programmes die exe, im meinem Fall LambdaVOK 2.0.exe sich selbst überschreibt? Mozilla updatet ja ihren Firefox ja auch mit derselben exe "firefox.exe". Meine exe ist ja während des Programmlaufs in Windows aktiv, ich weiß nicht ob ein Ersetzen bzw Überschreiben der Programmdatei mit demselben Namen in VB einen Fehler auslöst?
    nein?
    Deswegen benutz einfach Updatesystem.net...
    Das hat viiiiiel mehr Features.
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!