Hallo zu meinem 1. Guide,
ich werde euch Heute zeigen, wie man einen simplen Updater in das Programm einbauen kann.
Man könnte den Updater dann noch erweitern, aber ich will euch nur einmal das Grundgerüst vor Augen bringen.
Der Updater wird die aktuelle Version des Programms, mit einer anderen, auf dem FTP gelagerten, vergleichen. Wenn die aktuelle Version nicht mehr mit der auf dem FTP einstimmt, wird nach einem Update gefragt.
Wir brauchen:
-einen FTP Server (zB von Kostenloser Webspace & Fotos | ohost.de)
-ein FTP "verwaltungs" Programm (zB Download FileZilla from SourceForge.net)
-eine Textdatei, in der die aktuelle Version steht
-ein kleines bisschen Gehirn :ORLY:
ich werde euch Heute zeigen, wie man einen simplen Updater in das Programm einbauen kann.
Man könnte den Updater dann noch erweitern, aber ich will euch nur einmal das Grundgerüst vor Augen bringen.
Der Updater wird die aktuelle Version des Programms, mit einer anderen, auf dem FTP gelagerten, vergleichen. Wenn die aktuelle Version nicht mehr mit der auf dem FTP einstimmt, wird nach einem Update gefragt.
Wir brauchen:
-einen FTP Server (zB von Kostenloser Webspace & Fotos | ohost.de)
-ein FTP "verwaltungs" Programm (zB Download FileZilla from SourceForge.net)
-eine Textdatei, in der die aktuelle Version steht
-ein kleines bisschen Gehirn :ORLY:
FTP Server
Wir gehen auf Kostenloser Webspace & Fotos | ohost.de und erstellen uns dort einen Account.
Den bestätigen wir dann und loggen uns mit unseren Daten ein.
Nun klicken wir auf "Webhosting FTP" und aktivieren den FTP.
Wir ändern das Passwort und schreiben es uns auf.
Sind wir damit schonmal fertig, aber das sollte ja wohl jeder hinkriegen^^
Wir gehen auf Kostenloser Webspace & Fotos | ohost.de und erstellen uns dort einen Account.
Den bestätigen wir dann und loggen uns mit unseren Daten ein.
Nun klicken wir auf "Webhosting FTP" und aktivieren den FTP.
Wir ändern das Passwort und schreiben es uns auf.
Sind wir damit schonmal fertig, aber das sollte ja wohl jeder hinkriegen^^
Der Upload der Textdatei
Anfangs erstellen wir eine neue Textdatei auf dem Desktop.
Nennen wir sie "Update.txt". In die "Update.txt" schreiben wir unsere aktuelle Version des Programms rein (zB 1.0)
Dann können wir die neue Textdatei auch wieder schließen.
Wir starten Filezilla und geben oben unsere FTP Daten ein.
Wer sie nicht mehr weiß, kann auf http://www.ohost.de nochmal nachschauen.
Nun sind wir eingeloggt und erstellen auch sofort ein neues Verzeichnis (Rechtsklick). Dieses nennen wir "update".
Dann suchen wir unsere Textdatei und ziehen sie rechts ins neue Verzeichnis rein.
Doppelklick auf das Verzeichnis und wir sehen unsere Update.txt ~
Rechtsklick auf die Textdatei und wir nehmen das ".txt" am ende weg.
Das wars auch schon.
Wir erstellen eine neue Windows Forms Anwendung mit dem Namen "Updater".

Für den Updater brauchen wir:
-1x Label mit dem Text eurer aktuellen Version (zb. 1.0)
Das Label sollte in den Eigenschaften auf Visible = False gestellt werden.
:OSMILEY:
Nun machen wir einen Doppelklick auf unsere Form, um in das Form_Load Ereignis zu kommen.

Wir möchten, dass wenn es ein Update gibt, wir gefragt werden, ob wir die neueste Version herunterladen wollen.
Zunächst Importieren wir über "Public Class" "System.Net":
Das benötigen wir einfach, um später mehr Möglichkeiten zu haben, um mit dem Internet zu arbeiten.
Dann brauchen wir noch einen Webclienten. Den deklarieren wir unter "Public Class":
Mit diesem Webclient können wir jetzt Dateien downloaden/lesen etc etc
Dann deklarieren wir noch "dateiversion".
Damit liest er die Textdatei auf dem FTP Server und weiß welche die aktuelle Version ist.
So, jetzt wollen wir überprüfen, ob die "dateiversion" höher ist, als die Version im Label.
Wenn die Dateiversion auf dem FTP größer ist, als die auf dem FTP, dann soll etwas passieren. In dem fall fragen, ob wir updaten wollen.
Erstmal deklarieren wir die URL zur .exe, die wir herunterladen wollen.
Damit weiß er, dass "URL" der Link zur Datei ist.
Wollen wir Updaten?
Es taucht eine Msgbox auf und fragt ob wir updaten wollen. Wenn man auf "Yes" klickt, wird die Datei vom Link gedownloadet und da hingespeichert, wo das Programm gestartet wurde. Undzwar wird die .exe dann "Zielname.exe" heißen.
Undzwar von der URL, die als neuer Link (Uri) dargestellt wird.
Und wenn die Dateiversion nicht höher ist, dann kommt eine Msgbox.
Der ganze Code sieht dann so aus:
"Code"
Alles anzeigen

Ich hoffe ihr konntet es verstehen und wenn es Fragen etc gibt, postet sie einfach :yarr:
Nennen wir sie "Update.txt". In die "Update.txt" schreiben wir unsere aktuelle Version des Programms rein (zB 1.0)
Dann können wir die neue Textdatei auch wieder schließen.
Wir starten Filezilla und geben oben unsere FTP Daten ein.
Wer sie nicht mehr weiß, kann auf http://www.ohost.de nochmal nachschauen.
Nun sind wir eingeloggt und erstellen auch sofort ein neues Verzeichnis (Rechtsklick). Dieses nennen wir "update".
Dann suchen wir unsere Textdatei und ziehen sie rechts ins neue Verzeichnis rein.
Doppelklick auf das Verzeichnis und wir sehen unsere Update.txt ~
Rechtsklick auf die Textdatei und wir nehmen das ".txt" am ende weg.
Das wars auch schon.
Der eigentliche Teil
Wir erstellen eine neue Windows Forms Anwendung mit dem Namen "Updater".
Für den Updater brauchen wir:
-1x Label mit dem Text eurer aktuellen Version (zb. 1.0)
Das Label sollte in den Eigenschaften auf Visible = False gestellt werden.
:OSMILEY:
Nun machen wir einen Doppelklick auf unsere Form, um in das Form_Load Ereignis zu kommen.
Wir möchten, dass wenn es ein Update gibt, wir gefragt werden, ob wir die neueste Version herunterladen wollen.
Zunächst Importieren wir über "Public Class" "System.Net":
Das benötigen wir einfach, um später mehr Möglichkeiten zu haben, um mit dem Internet zu arbeiten.
Dann brauchen wir noch einen Webclienten. Den deklarieren wir unter "Public Class":
Mit diesem Webclient können wir jetzt Dateien downloaden/lesen etc etc
Dann deklarieren wir noch "dateiversion".
Damit liest er die Textdatei auf dem FTP Server und weiß welche die aktuelle Version ist.
So, jetzt wollen wir überprüfen, ob die "dateiversion" höher ist, als die Version im Label.
Wenn die Dateiversion auf dem FTP größer ist, als die auf dem FTP, dann soll etwas passieren. In dem fall fragen, ob wir updaten wollen.
Erstmal deklarieren wir die URL zur .exe, die wir herunterladen wollen.
Damit weiß er, dass "URL" der Link zur Datei ist.
Wollen wir Updaten?
Das bewirkt, dass er die Datei im Hintergrund downloadet.client.DownloadFileAsync(New Uri(URL)
Undzwar von der URL, die als neuer Link (Uri) dargestellt wird.
Und wenn die Dateiversion nicht höher ist, dann kommt eine Msgbox.
Der ganze Code sieht dann so aus:
Quellcode
- Imports System.Net
- Public Class Form1
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- Dim client As New Net.WebClient
- On Error Resume Next
- Dim Dateiversion As String = client.DownloadString("Euer Link zur Textdatei")
- If Dateiversion > Label1.Text Then
- Dim URL As String = "Euer Link zur EXE"
- If MsgBox("Ein Update ist verfügbar, wollen sie es herunterladen?", MsgBoxStyle.YesNo, "Updater") = MsgBoxResult.Yes Then
- client.DownloadFileAsync(New Uri(URL), Application.StartupPath & "\Zielname.exe")
- End If
- Else
- MsgBox("Keine Updates verfügbar", MsgBoxStyle.Information, "Updater")
- End If
- End Sub
- End Class
Ich hoffe ihr konntet es verstehen und wenn es Fragen etc gibt, postet sie einfach :yarr: