Guten Abend.
Habe folgendes Problem bei meinem Updater:
- Form1 wird geladen:
- Es wird nach neuer Version geschaut
- Wenn neue Version verfügbar ist soll er sie Downloaden (Da ist das Problem)
- Dabei soll die Progressbar Anziegen wie viel schon gedownloaded ist
- Nach dem Download das Update Installieren
So das Problem ist das nach dem Laden der Form eine Msg Box kommt ich Ok klicke und dann alles Verschwunden ist
Edit: Sorry Irgendwie geht der Code nicht Sauberer hier einzufügen.
Ich bin mir sicher das ich nur irgendwo nen Leichtsinnsfehler gemacht habe.
Mfg.
Nevs08
Habe folgendes Problem bei meinem Updater:
- Form1 wird geladen:
- Es wird nach neuer Version geschaut
- Wenn neue Version verfügbar ist soll er sie Downloaden (Da ist das Problem)
- Dabei soll die Progressbar Anziegen wie viel schon gedownloaded ist
- Nach dem Download das Update Installieren
So das Problem ist das nach dem Laden der Form eine Msg Box kommt ich Ok klicke und dann alles Verschwunden ist
VB.NET-Quellcode
- Private WithEvents WebClient1 As Net.WebClient Dim pgversion As String = "0001"
- Private Sub frmUpdaterClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles frmUpdaterClose.Click Me.Close() End Sub
- Private Sub frmUpdaterMin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles frmUpdateMin.Click Me.WindowState = FormWindowState.Minimized End Sub
- Private Sub frmUpdater_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If My.Computer.FileSystem.FileExists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & "\My Games\Game\version.txt") Then ' Prüfen ob Datei vorhanden ist My.Computer.FileSystem.DeleteFile(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & "\My Games\Game\version.txt") ' Wenn ja löschen End If
- My.Computer.Network.DownloadFile("http://gameupdate.funpic.de/version.txt", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & "\My Games\Game\version.txt") ' Datei Neu Downloaden - Hier den Link zu der version.txt
- Dim Stream As New IO.StreamReader(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & "\My Games\Game\version.txt") ' Auslesen Dim z1 As String = Stream.ReadLine Stream.Close()
- If z1 > pgversion Then Try WebClient1 = New WebClient Dim URL As String = "http://download5.farming-simulator.com/FarmingSimulator2013/FarmingSimulator2013Patch1.3DE.exe" Application.DoEvents() WebClient1.DownloadFileAsync(New Uri(URL), Environment.SpecialFolder.MyDocuments & "\My Games\Game\Updater.exe") Application.DoEvents() Catch ex As Exception MsgBox("Es ist folgender Fehler aufgetreten:" & vbNewLine & ex.ToString, MsgBoxStyle.Critical, "Es ist ein Fehler aufgetreten!") End End Try End If
- End Sub
- Private Sub WebClient1_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles WebClient1.DownloadProgressChanged Me.ProgressBar1.Value = e.ProgressPercentage Dim totalbytes As Double = e.TotalBytesToReceive / 1024 / 1024 Dim bytes As Double = e.BytesReceived / 1024 / 1024 Me.Label1.Text = bytes & " MB von " & totalbytes & " MB" End Sub
- Private Sub WebClient1_DownloadFileCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs) Handles WebClient1.DownloadFileCompleted MsgBox("Der aktuelle Patch wurde im angegebenen Verzeichnis gespeichert und wird nun Installiert!", MsgBoxStyle.Information, "Erfolg!") End End Sub
- End Class
Edit: Sorry Irgendwie geht der Code nicht Sauberer hier einzufügen.
Ich bin mir sicher das ich nur irgendwo nen Leichtsinnsfehler gemacht habe.
Mfg.
Nevs08