[VB.NET] Update Programm

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • [VB.NET] Update Programm

      [VB.NET] Update Funktion

      Vorwort:
      Da ich denke, dass Intresse an einer Update Funktion besteht - für die jenigen dir ihr Programm für die User immer aktuell halten wollen - möchte ich euch zeigen wie Ihr selbst so ein Programm schreibt! Aber wollen wir nicht lange um den heißen Brei reden, sondern anfangen!



      Materialien:
      Zu aller erst sollte jeder, der mit VB.NET Programmieren will, den Microsoft Visual Basic 2008 Express Edition vorinstalliert haben!

      Aber warum ausgerechnet diese Version, es gibt doch noch eine höhere Version! Ich bevorzuge diese Version, da ich selber nie mit 2010 oder niedriger programmiert habe, sondern gleich von Anfang an mit der 2008er Version, aber das sollte jeder selbst wissen - ich werde aufjedenfall in diesem Tutorial die 2008er Version benutzen!

      Zudem sollten wir, zwei Hände besitzen und an jeder Hand 5 Finger - diese sollten nicht zu faul sein und nur C&P [Copy & Paste] können, da es niemanden was bringt, man das ganze Programm nicht versteht und Programmieren für faule Leute nichts ist - meiner Meinung nach!



      Zum eigentlichen Teil des Tutorial's:
      Nachdem wir alles haben was wir zum Programmieren benötigen (Hände kann man sich nicht im Internet downloaden oder im Supermarkt kaufen), fangen wir nun an.

      Zu aller erst werden wir "Microsoft Visual Basic 2008 Express Edition" starten, es wird sich die Startoberfläche öffnen!
      Sofern ihr schon Grundkenntnisse besitzt solltet ihr ein neues Projekt anlegen, dieses Projekt nennen wir dann "nw-app-001", einfach nur für das Tutorial, es ist nicht schlimm wenn ich das Projekt anders nennt, das Programm sollte dannach immernoch funktionieren!

      Nach dem das Projekt angelegt ist, sollten wir uns einen kostenlosen Webhoster suchen, weil das ganze über FTP läuft. Empfehlen kann ich bplaced.net, funpic.de oder ohost.de! Nachdem ihr euch einen Account angelegt habt, und der freigeschaltet ist solltet ihr euch noch die FTP-Option freischalten.

      Wir öffnen nun wieder unser neu angelegtes Projekt und machen einen Doppelklick auf die Form1 (Im Designer). Es öffnet sich nun der Code unseres Projektes, der immoment so aussehen sollte

      Quellcode

      1. Public Class Form1
      2. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      3. End Sub
      4. End Class
      Danach gehen wir wieder in den Designer und fügen einen Button ein und 5 Label's und verändern nun die Texte der Label's.

      Quellcode

      1. Label1 = -
      2. Label2 = 1.0.0.0
      3. Label3 = Aktuelle Version (Bei jedem Update hier auch ändern (z.B.: Vorher: 1.1 - Nachher: 1.2)
      4. Label4 = Neuste Version:
      5. Label5 = Version:
      6. Button1 = Update herunterladen
      Aber nur den Text der Labels und des Buttons verändern und nicht den Namen, die Namen bleiben so, ansonsten werdet ihr eine Fehlermeldung erhalten.

      Im Designer macht ihr dann einen Doppelklick auf Button1, unser Code öffnet sich und wir schreiben nun das hinein:

      Quellcode

      1. If My.Computer.FileSystem.FileExists(System.Environment.CurrentDirectory & "\current.txt") Then ' Überprüft ob die Datei "current.txt" vorhanden ist...
      2. Kill("current.txt") ' ...wenn ja soll diese gelöscht werden!
      3. My.Computer.Network.DownloadFile("http://name_beim_hoster.host.de/pfad/current.txt", Environment.CurrentDirectory & "\current.txt") ' Danach soll er direkt die neue Datei downloaden und als "current.txt" abspeichern
      4. Else
      5. My.Computer.Network.DownloadFile("http://name_beim_hoster.host.de/pfad/current.txt", Environment.CurrentDirectory & "\current.txt") ' Sollte die Datei nicht vorhanden sein, einfach downloaden
      6. End If
      7. Dim Stream As New IO.StreamReader(System.Environment.CurrentDirectory & "\current.txt") ' Nach dem downloaden soll er die current.txt auslesen
      8. Dim z1 As String = Stream.ReadLine ' Inhalt der ersten Zeile wird in "z1" gespeichert
      9. Dim z2 As String = Stream.ReadLine ' Inhalt der zweiten Zeile wird in "z1" gespeichert
      10. Stream.Close()
      11. Dim lblt As Integer = Label2.Text
      12. If lblt < z1 Then' Wenn Label2.Text kleiner ist als "z1" dann
      13. If My.Computer.FileSystem.FileExists(System.Environment.CurrentDirectory & "\Dateiname.exe") Then ' Überprüfen ob die Datei schon existiert...
      14. Kill("Dateiname.exe") ' ... wenn ja, dann soll diese gelöscht werden...
      15. My.Computer.Network.DownloadFile("http://name_beim_hoster.host.de/pfad/Dateiname.exe", Environment.CurrentDirectory & "\Dateiname.exe") ' ... und dann sofort neu downloaden!
      16. Else
      17. My.Computer.Network.DownloadFile("http://name_beim_hoster.host.de/pfad/Dateiname.exe", Environment.CurrentDirectory & "\Dateiname.exe") ' Andernfalls einfach downloaden
      18. End If
      19. MsgBox("Update wurde erfolgreich heruntergeladen.", MsgBoxStyle.Information, "Meldung: Update erfolgreich!") ' Messagebox ausgeben, wenn Update erfolgreich war
      20. Else
      21. MsgBox("Zur Zeit sind keine Updates für ihr Produkt verfügbar.", MsgBoxStyle.Information, "Meldung: Kein neues Update vorhanden!") ' Erscheint, wenn kein Update erforderlich ist (aktuelle Version)
      22. End If
      23. End Sub
      Alles anzeigen
      Damit wäre das Überprüfen und Downloaden nach neuen Datein (falls Update vorhanden) geregelt, jetzt gehen wir in den Form1.Load-Event (Doppelklick auf die Form1 im Designer) und schreiben dies hier rein:

      Quellcode

      1. Dim Stream As New IO.StreamReader(System.Environment.CurrentDirectory & "\current.txt")
      2. Dim z1 As String = Stream.ReadLine
      3. Dim z2 As String = Stream.ReadLine
      4. Stream.Close()
      5. Label1.Text = z1
      6. Label2.Visible = False
      Fortsetzung folgt...


    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

    • Aber warum ausgerechnet diese Version, es gibt doch noch eine höhere Version! Ich bevorzuge diese Version, da ich selber nie mit 2010 oder niedriger programmiert habe, sondern gleich von Anfang an mit der 2008er Version, aber das sollte jeder selbst wissen - ich werde aufjedenfall in diesem Tutorial die 2008er Version benutzen!

      lol
      es gibt einen ziemlich simplen grund:
      in VS10 programmierte programme funken nicht mehr unter XP

      also ich hätt es erst gemacht wenn ich es komplett hätte
    • SChwarzeSeeIe;187467 schrieb:

      @ [B][B]netw0rk[/B]

      warum arbeitest du mit Label´s

      warum nicht mit einem Statusstrip
      und einem Toolstautslabel?

      ist doch einfacher
      als jedes mal denn Label text zu Ändern so muss
      man nur unter anwendung gehen Assble info
      2 zahlen ändern und es geht schneller

      naja mal schauen wie der rest von deinem Tut weiter geht
      aber muss sagen Nice Teil
      [/B]


      ich denke er macht einen extra updater... :) find ich ganz nice den soo schlim finde ich das nicht parr labels zu ändern^^
    • aber man kann label1 z.b. sagen

      label1.text = "Old Version" & aplliction.Productversion

      damit Hätte man die alte version

      ist einfach ales es zu dauerhaft zu ändern
      und neuer versions abfrage

      Label2.Text = "New Version" & response

      response = response = httpClient.DownloadString("Link zur Version txt")

      sollte so gehen ^^
      ist wirklich nicht Böse gemeihnt gegen Über dem Tut
      aber mir ist es etwas umständlich zu umständlcih wenn es besser und schneller geht ^^
    • GoldenFish;188457 schrieb:

      Wär es schlimm, wenn ich auch einen Guide dazu schreibe?
      Ich hab nämlich auch eine relativ leichte Methode und ich denke spätestens Morgen wär er fertig :p



      ya mach das bitte mir dauert das bissel zu lang mach aber mit bildern schreib mir einen link per pn krigst dann ein thx :D
    • [FONT="Comic Sans MS"][COLOR="DeepSkyBlue"][SIZE="2"]Nurmal so, n bissl Eigeninitiative wäre auch angesagt^^
      Der Anfang is ja getan, der Rest vom Update is im Grunde nich schwer.
      Hier mal eben ne knappe Übersicht, was getan werden muss.
      1. Aktuelle version ermitteln
      2. Updatedatei oder so nehmen und schaun welche Version drin is
      3. Aktuelle version mti der Version aus der Datei überprüfen
      4. Wenn Aktuelle Version < Neue Version, dann Meldung ausgeben
      5. Wenn User das Update runterladen will, mach dies, doch...
      5.1 ...is die .exe grade in Gebrauch, so wäre ein externer Updater besser, da man sonst die .exe nich überschrieben kann.
      5.2 ...sind die zu updatenden Daten woanders, so sollte drauf geachtet werden, dass auch diese vorher von allen ZUgriffen befreit werden, anders können die nich überschrieben werden
      6. Wenn nötig, neustarten des Programms
      7. Fertig

      Denke das düerfte reichen.
      Aber naja, meinetwegen darfs noch nen Guide geben, ich greife auch immer wieder gerne auf was geschriebenes zurück auch wenn ichs theoretisch weiß (Allein schon wegen den Befehlen bzw dem Umgang^^)

      Soll übrigens ja nurmal ein Hinweis sein, is keine Pflicht es jetzt so zu machen[/SIZE][/COLOR][/FONT]