Hallo,
Ich habe da ein Probleme mit einem Updater, ich wollte einen machen der über einen FTP-Server mehrere Dateien in einen Ordner lädt. Da ich in VB2008 noch Anfänger bin, habe ich mir bei YouTube ein paar TuTs gesucht und auf einen gestoßen der für mich aussreichen sollte.
Hier, dass ist leider sehr lang (38 Min.) aber vielleicht kennt es jemans schon.
Im Video werden am Ende mehrere Dateien hintereinander geladen wie z.b. ein Bild, Exe, Textdatei usw. und bei mir lädt der nur immer die "version.txt" runter sonst gar keine anderen. Egal was ich in die "files.txt" eintrage es wird immer nur die "version.txt" runtergeladen.
Könnt ihr mir vielleicht Helfen ?
Hier mein jetziger Code:
Hoffe bin hier in der richtigen Sektion geht ja im Coding, falls nicht dann Bitte verschieben :D
Ich habe da ein Probleme mit einem Updater, ich wollte einen machen der über einen FTP-Server mehrere Dateien in einen Ordner lädt. Da ich in VB2008 noch Anfänger bin, habe ich mir bei YouTube ein paar TuTs gesucht und auf einen gestoßen der für mich aussreichen sollte.
Hier, dass ist leider sehr lang (38 Min.) aber vielleicht kennt es jemans schon.
|
|
Im Video werden am Ende mehrere Dateien hintereinander geladen wie z.b. ein Bild, Exe, Textdatei usw. und bei mir lädt der nur immer die "version.txt" runter sonst gar keine anderen. Egal was ich in die "files.txt" eintrage es wird immer nur die "version.txt" runtergeladen.
Könnt ihr mir vielleicht Helfen ?
Hier mein jetziger Code:
PHP Code:
Public Class frmMain
Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
statusVersion.Text = "Version " & Application.ProductVersion
'Dim i As Integer = Application.ExecutablePath.LastIndexOf("\")
'Dim s As String = Application.ExecutablePath.Remove(0, 79)
'Updater.exe
'MsgBox(s)
End Sub
Private Sub UpdateProgram()
Dim base As String = "http://Mein-FTP-Server/"
Dim startup As String = Application.StartupPath
If (My.Computer.FileSystem.FileExists(startup + "\version.txt")) Then
My.Computer.FileSystem.DeleteFile(startup + "\version.txt")
End If
My.Computer.Network.DownloadFile(base + "\version.txt", startup + "\version.txt")
Dim newversion As Double = Convert.ToDouble(My.Computer.FileSystem.ReadAllText(startup + "\version.txt"))
If (newversion > Application.ProductVersion) Then
If (MsgBox("Neues Update verfügbar! Willst du gleich Updaten?", MsgBoxStyle.Question + MsgBoxStyle.YesNo) = MsgBoxResult.Yes) Then
'download new version
If (My.Computer.FileSystem.FileExists(startup + "\files.txt")) Then
My.Computer.FileSystem.DeleteFile(startup + "\version.txt")
End If
My.Computer.Network.DownloadFile(base + "\files.txt", startup + "\files.txt")
Dim todownload As New TextBox
todownload.Multiline = True
todownload.Text = My.Computer.FileSystem.ReadAllText(startup + "\files.txt")
Dim line As Integer = ""
Dim exename As String = Application.ExecutablePath.Remove(0, Application.ExecutablePath.LastIndexOf("\") + 1)
For Each line In todownload.Lines
If (line = exename) Then
My.Computer.Network.DownloadFile(base + line, startup + "\" + line + ".new")
Else
If (My.Computer.FileSystem.FileExists(startup + "\" + line)) Then
My.Computer.FileSystem.DeleteFile(startup + "\" + line)
End If
My.Computer.Network.DownloadFile(base + line, startup + "\")
End If
Next
MsgBox("Upadte war Erfolgreich! Der Updater wird Neugestartet!", MsgBoxStyle.Information)
My.Computer.FileSystem.RenameFile(Application.ExecutablePath, exename + ".old")
My.Computer.FileSystem.RenameFile(startup + "\" + exename + ".new", exename)
Application.Restart()
Else
'do not download new version
MsgBox("Ok...", MsgBoxStyle.Information)
End If
End If
End Sub
Private Sub NachUpdatesSuchenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NachUpdatesSuchenToolStripMenuItem.Click
UpdateProgram()
End Sub
End Class