Hi. Hier mal einen Einfachen Updater:
Man benötigt:
- einen FTP server
- eine Form namens Form2
- ein Label namens Label2
- eine Datei namens "version.txt" auf dem FTP-Server
- einen Button namens Button1
Wer nicht wiess wie man einen FTP Server steuert/erstellt geht zu diesem Tutorial:
youtube.com/watch?v=CHkzCcHyKvY
Code: (Beschriebung durch Kommentare)
In dem Label steht immer die aktuelle Version (in einer einstelligen Zahl - bei der neuen Version nicht vergessen die Zahl um 1 zu erhöhen)
Wenn man jetzt eine neue Version anbieten möchte, muss man in die Version.txt in der ersten Zeile die nächste Zahl reinschreben (zb 2 für version 2) und in der zweiten Zeile den Downloadlink.
Edit: Man kann das ganze in einen Try.. Cath.. End Try.. Block schreiben, dann stürtzt der Updater nicht ab, wenn ein Fehler auftretet (z.B Keine Internetferbindung elc...)
Man benötigt:
- einen FTP server
- eine Form namens Form2
- ein Label namens Label2
- eine Datei namens "version.txt" auf dem FTP-Server
- einen Button namens Button1
Wer nicht wiess wie man einen FTP Server steuert/erstellt geht zu diesem Tutorial:
youtube.com/watch?v=CHkzCcHyKvY
Code: (Beschriebung durch Kommentare)
VB.NET-Quellcode
- Public Class Form2
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- If My.Computer.FileSystem.FileExists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & "\version.txt") Then ' Prüfen ob Datei vorhanden ist
- My.Computer.FileSystem.DeleteFile(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & "\version.txt") ' Wenn ja löschen
- End If
- My.Computer.Network.DownloadFile("http://mottzi.mo.funpic.de/version.txt", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & "\version.txt") ' Datei Neu Downloaden - Hier den Link zu der version.txt
- Dim Stream As New IO.StreamReader(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & "\version.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
- My.Computer.Network.DownloadFile(z2, Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & "\UpdateV" + z1 + ".exe") ' Neue .Exe in den Dokumenten Ordner laden (Downloadlink in "z2")
- MsgBox("Update wurde fertiggestellt. Die neue Exe befindet sich in deinem Dokumenten Ordner.", MsgBoxStyle.Information, "IMail") ' Nachricht wenn download erfollgreich war
- Else
- MsgBox("Kein Update gefunden", MsgBoxStyle.Information, "IMail") ' Nachricht wenn keine Updates vorhanden sind
- End If
- Me.Close() ' Schliessen
- End Sub
- Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- Label2.Visible = False
- End Sub
- End Class
In dem Label steht immer die aktuelle Version (in einer einstelligen Zahl - bei der neuen Version nicht vergessen die Zahl um 1 zu erhöhen)
Wenn man jetzt eine neue Version anbieten möchte, muss man in die Version.txt in der ersten Zeile die nächste Zahl reinschreben (zb 2 für version 2) und in der zweiten Zeile den Downloadlink.
Edit: Man kann das ganze in einen Try.. Cath.. End Try.. Block schreiben, dann stürtzt der Updater nicht ab, wenn ein Fehler auftretet (z.B Keine Internetferbindung elc...)
"I think Microsoft has abused the Windows brand so much that it has lost its cachet."
Paul Thurrott
Paul Thurrott
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „mottzi“ ()