Update suche, leicht gemacht! [Anfänger-Basis]

    • VB.NET

      Update suche, leicht gemacht! [Anfänger-Basis]

      Hi, es ist mein erstes Tutorial und hoffe das es euch gefällt :thumbup:
      Wir werden eine Updatesuche machen die auf einem Webbrowser basiert.
      Was ihr benötigt:
      Visual Basic 2008/2010, einen FTP-Server.
      Wichtig: Die Updates müssen .exe sein! (Selbstenpackende Archive zB. von WinRar)
      Im Programm benötigt ihr:
      2 Buttons, 1 Progressbar, 1 Label.

      Wir fangen an.
      Wir platzieren die Controls in etwa so:


      Wir machen einen doppelklick auf die Form.
      Dort sehen wir folgenden Code:

      VB.NET-Quellcode

      1. Public Class Form1
      2. End Class


      Wie schreiben nun folgendes unter Public Class Form 1:

      VB.NET-Quellcode

      1. Dim version as string = "01"
      2. Dim serverversion as string
      3. Public Withevents downloader as new net.webclient


      Wir schreiben nun unter Form1_Load:

      VB.NET-Quellcode

      1. Button1.Enabled = True
      2. Button2.Enabled = False


      So jetzt benennen wir die Controls (Texte):
      Button 1 -> Nach updates suchen...
      Button 2 -> Update herunterladen.
      Label 1 -> "" (Nichts)
      Progressbar1 -> Hier setzen wir Value auf 0

      Wir machen einen Doppelklick auf Button1, dort schreiben wir:

      VB.NET-Quellcode

      1. Dim Checkbrowser As New Webbrowser 'Ein neuer Webbrowser, der nicht im Designer sondern nur im Code dekaliert/erstellt wird.
      2. Checkbrowser.Navigate("EUERSERVER.de/versioncheckPROGRAMM.html") 'Wir navigieren mit dem Browser zur HTML Datei (Grund/Nutzung/Wie machen siehe später...)
      3. Do While Checkbrowser.ReadyState <> WebBrowserReadyState.Complete 'Wenn Checkbrowser die Seite geladen hat...
      4. Application.DoEvents() 'Macht das Programm weiter
      5. Loop 'Ende sozusagen
      6. serverversion = Checkbrowser.DocumentTitle 'Wir bestimmen die Serverversion
      7. If version > serverversion then 'Wir checken ob die Version auf dem Server neu, oder alt für das Programm ist/sind.
      8. else
      9. Label1.Text = "Neues Update verfügbar..."
      10. Button2.Enabled = True
      11. end if


      Wir machen einen doppelklick auf Button2:

      VB.NET-Quellcode

      1. downloader.downloadfileasync(new uri("DEINSERVER.de/update02.exe"), my.computer.filesystem.currentdirectory & "\update.exe")


      Wir klicken im Codefenster oben rechts auf "downloader" und wählen rechts "Progresschanged" aus.
      Dort schreiben wir rein:

      VB.NET-Quellcode

      1. Prograssbar1.value = e.progresspercentage
      2. label1.text = "Download zu: " & progressbar1.value & ", fertig!"


      Wir klicken im Codefenster oben rechts wieder auf "downloader" und wählen dort "DownloadComplete" aus.
      Dort schreiben wir rein:

      VB.NET-Quellcode

      1. Label1.Text = "Herunterladen des updates komplett!"
      2. process.start(my.computer.filesystem.currentdirectory & "\update.exe")
      3. me.close


      Wir erstellen die .html Datei:

      HTML-Quellcode

      1. <html>
      2. <head>
      3. <title>02</title>
      4. <style type="text/css">
      5. .text {
      6. font-family: Tahoma;
      7. font-size: 30px;
      8. color: black;
      9. }
      10. </style>
      11. </head>
      12. <body>
      13. <center><p class="text">Zutritt nicht gewährt!</p></center>
      14. </body>
      15. </html>


      Diese laden wir nun hoch.
      Fertig.

      Kurz und knapp infos:
      Er navigiert auf die Seite lädt aus dem Titel "02" rauß, er checkt die aktuelle Version ("01") des Programmes und erkennt das eine neue Version vorhanden ist. Mit Button2 lädt man die neue Version herunter, er schließt das Programm und öffnet das Update!
      Tipp: update.exe sollte immer das neue Programm sein, d.h keine small Updates von 1.0 zu 1.1 dann zu 1.2 etc.
      Wichtig: 01 bedeuted so viel wie: 0.1 nur ohne Punkt
      d.H: Programm ist 0.1 Version
      Doch im Internet ist die Version 0.2 verfügbar, er lädt herunter, wenn ihr in der .html Datei den Titel zu "01" ändert, wird er keine neue Version finden.

      Bei Fehlern/Fragen/Kritikpunkte/Verbesserungen einfach hier melden.
      Falls dieses Tutorial hilfreich war auf den "Hilfreich" Button klicken.
      Rechtschreibfehler bitte nicht hoch anprägen ich habe eine nach meinem Lehrer seiner Aussage, sehr schwache LRS. (Werde bald Test machen :D)

      Mfg