Wenn du einen Updater meinst, hab ich hier ein Tutorial.
Credits unbekannt:
Das braucht ihr:
-Ftp Server
-From1.vb
-ConsolenApp
1. Der Versions Code auf dem FTP Server
Als erstes macht ihr eine .php datei öffnet sie und schreibt dies hinein
Code:
<?
echo 'ersetze mich durch eine Versions nummer!'
?>
Nun schreibt ihr nachdem "echo" eure Versions nummer hin!
Speichert alles ab und ladet es auf euren Webspace hoch.
2. Updater in Form1.vb einbringen (oder euer Projekt, aber dort die Start Form)
Ihr erstellt eure 1ste Form oder öffnet euer Projekt. Auf die erste Form (Start Form) macht ihr doppelklick drauf. Dann steht dass im Code:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Dann fügt ihr dies unter Form1_Load ein:
Dim Updateme As New Net.WebClient
Dim ResultBytes() As Byte = Updateme.DownloadData("http://www.meinftp.de/version.php")
Dim Version As String = System.Text.Encoding.Default.GetString(ResultBytes )
If Version = "ersetze mich durch eine Versionsnummer!!" = False Then
MsgBox("Neues Update gefunden!")
Process.Start("updater.exe")
Me.Close()
End If
Nun Speichert ihr alles ab herstellt die .exe Datei die ihr dann einen beliebigen Namen gibt.
Wenn ihr nun eine neuere Version habt müsst ihr nur die Versions Nummer im Code ändern und natürlich in der .php Datei.
3. ConsolenApp als Updater
Nun macht ihr ein neues Projekt in einer ConsoleApplication.
Als erstes steht im Code nur dieses:
Code:
Module Module1
Sub Main()
End Sub
End Module
Nun schreibt ihr unter Sub Main den Code damit er die Datei downloaded die neu ist. Das sieht dann so aus:
Code:
Module Module1
Sub Main()
If My.Computer.Network.Ping("Ip eures Servers um zu checken ob der Download Server Online ist!") = True Then
Console.WriteLine("Verbindung zum Update Server hergestellt!")
System.IO.File.Delete("alteversion.exe")
Console.WriteLine("Die Alte Version wurde gelöscht!")
Console.WriteLine("Bitte warten, die neue Version wird heruntergeladen...")
My.Computer.Network.DownloadFile("http://www.meinftp.de/neueversion.exe", "Name der neuen Version.exe", "Benutzername (FTP)", "passwort")
Console.WriteLine("Erfolgreich Geupdatet!")
Console.WriteLine("Starte neue Version beim Druck von Enter!")
Console.ReadKey()
Process.Start("neueversion.exe")
Else
Console.WriteLine("Die Verbindung zum Update Server konnte nicht hergestellt werden! Bitte versuchen sie es später erneut.")
End If
End Sub
End Module
So das wars alles!!
4. Was ist zu beachten?
Bitte beachtet das die .exe namen im Code gleich sind wie die Datei .exe Namen. Außerdem müssen beide Dateien im gleichen Ordner sein.
__________________________________________________ _______________
Oder so, auch nicht von mir!
Folgende Importierungen sind notwendig:
Code:
Imports System.Net
Die Funktion gibt True bei neuer Version zurück und False, wenn der Server down ist oder es keine neue version gibt.
Bei meinem Test habe ich es mit einer .txt Datei verwendet.
Code:
Function CheckForNewVersion(ByVal verFile As String) As Boolean
Dim wc As New WebClient
Dim ver As String = vbNullString
Try
ver = wc.DownloadString(New Uri(verFile))
Catch ex As Exception
MsgBox("Der Update Server ist Offline!", MsgBoxStyle.Critical)
Return False
Exit Function
End Try
If ver <> My.Application.Info.Version.ToString Then
MsgBox("Neue Version verfügbar", MsgBoxStyle.Information)
Return True
Else
MsgBox("Sie verfügen bereits über die Neueste Version", MsgBoxStyle.Information)
Return False
End If
End Function
FTP Server: