[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
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
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.
Label1 = -
Label2 = 1.0.0.0
Label3 = Aktuelle Version (Bei jedem Update hier auch ändern (z.B.: Vorher: 1.1 - Nachher: 1.2)
Label4 = Neuste Version:
Label5 = Version:
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:
If My.Computer.FileSystem.FileExists(System.Environment.CurrentDirectory & "\current.txt") Then ' Überprüft ob die Datei "current.txt" vorhanden ist...
Kill("current.txt") ' ...wenn ja soll diese gelöscht werden!
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
Else
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
End If
Dim Stream As New IO.StreamReader(System.Environment.CurrentDirectory & "\current.txt") ' Nach dem downloaden soll er die current.txt auslesen
Dim z1 As String = Stream.ReadLine ' Inhalt der ersten Zeile wird in "z1" gespeichert
Dim z2 As String = Stream.ReadLine ' Inhalt der zweiten Zeile wird in "z1" gespeichert
Stream.Close()
Dim lblt As Integer = Label2.Text
If lblt < z1 Then' Wenn Label2.Text kleiner ist als "z1" dann
If My.Computer.FileSystem.FileExists(System.Environment.CurrentDirectory & "\Dateiname.exe") Then ' Überprüfen ob die Datei schon existiert...
Kill("Dateiname.exe") ' ... wenn ja, dann soll diese gelöscht werden...
My.Computer.Network.DownloadFile("http://name_beim_hoster.host.de/pfad/Dateiname.exe", Environment.CurrentDirectory & "\Dateiname.exe") ' ... und dann sofort neu downloaden!
Else
My.Computer.Network.DownloadFile("http://name_beim_hoster.host.de/pfad/Dateiname.exe", Environment.CurrentDirectory & "\Dateiname.exe") ' Andernfalls einfach downloaden
End If
MsgBox("Update wurde erfolgreich heruntergeladen.", MsgBoxStyle.Information, "Meldung: Update erfolgreich!") ' Messagebox ausgeben, wenn Update erfolgreich war
Else
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)
End If
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:
Dim Stream As New IO.StreamReader(System.Environment.CurrentDirectory & "\current.txt")
Dim z1 As String = Stream.ReadLine
Dim z2 As String = Stream.ReadLine
Stream.Close()
Label1.Text = z1
Label2.Visible = False
Fortsetzung folgt...
