Hallo,
vor einiger Zeit habe ich in eines meiner Programme eine Update-Funktion eingebaut, die wie folgt funktioniert: Zuerst wird überprüft, ob die Versionsnummer der neuesten Version auf meiner Website (http://ccman32web.webs.com/UltraGRSBot-Client/current.txt) höher ist, als die des Programms.
Wenn ja, öffnet mein Programm selbstständig die Download Seite der neusten Version (http://ccman32web.webs.com/UltraGRSBot-Client/download.txt), damit der Benutzer nur noch die Version downloaden und installieren muss. Das hat auch alles einwandfrei funktioniert und zwar für mehrere Monate, doch seit gestern gibt mir das Programm standardmäßig die Meldung, dass ein Fehler bei der Updatesuche unterlaufen sei. Bestätigt man diese, schließt sich mein Programm automatisch und für kurze Zeit (unter 0,1sek) sieht man ein kurz blinkendes Fenster mit dem Titel .NET Framework, allerdings ohne Inhalt. Ich habe auch bereits mit meinem Sniffer überprüft, ob das Programm überhaupt noch versucht, auf die Update Seite zuzugreifen, tut es aber nicht. Hab auch bereits Firewall ausgestellt und alle Antivirenprogramme temporär deaktiviert aber nichts hilft. Ich habe mir dann mal den Programmcode nochmal durchgeschaut und mein VB.NET 2010 Express neu installiert, das Projekt neu geöffnet und einfach noch einmal den Compiler angeschmissen, nachdem ich die Funktion rausgenommen hatte, die das Programm bei fehlgeschlagenem Update automatisch beendet. Wenn ich nach dem Update Fehler jetzt in das Programm gehe, kommt zusätzlich noch ein Fehler vom JIT Debugger, wegen angeblich "Ungültiger Konvertierung von der Zeichenfolge in Typ Integer". Dieser Fehler kommt allerdings nur beim fertig kompilierten Programm. Wenn ich es stattdessen in VB.NET per F5 starte, kommt überhaupt kein Fehler und auch kein Hinweis auf ungültige Konvertierungen etc. Ich gehe daher mal davon aus, dass der Fehler daher kommt, weil er halt die Datei mit der Versionsnumer nicht runterladen kann, und daher auch keinen Wert für "AktuelleVersion" bekommt. Momentan bin ich ziemlich ratlos mit meiner Update-Funktion, da ich an meinem PC von vorgestern auf gestern rein garnichts geändert habe, es trotzdem aber nicht mehr funktioniert. Bitte helft mir weiter! Gesamter Code der Update Funktion:Private Sub LoginForm1_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
Dim Version As Integer
Version = 4
Try
My.Computer.Network.DownloadFile( _
"http://ccman32web.webs.com/UltraGRSBot-Client/current.txt", _
"/current.txt")
My.Computer.Network.DownloadFile( _
"http://ccman32web.webs.com/UltraGRSBot-Client/Download.txt", _
"/Download.txt")
Catch ex As Exception
MsgBox("Fehler bei der Suche nach Updates! Überprüfe, ob eine" & _
"Internetverbindung vorhanden ist und du den Clienten mit" & _
"Administratorrechten ausgeführt hast! Möglicherweise liegt ein" & _
"Problem mit dem .NET Framework vor oder die Update Seite" & _
"existiert nicht mehr. Wenn das Problem weiterhin besteht," & _
"installiere .NET Framework erneut auf deinem Computer! Aufgrund" & _
"eines unbekannten Problems kann es auch sein, dass die Update" & _
"Funktion auf deinem Computer nicht funktioniert.", vbCritical, _
"Fehler")
'HIER WURDE DAS PROGRAMM IN DER ALTEN VERSION GESCHLOSSEN PER Application.Exit
End Try
Dim AktuelleVersion As Integer
Dim objDateiLeser As StreamReader
objDateiLeser = New StreamReader("/current.txt")
AktuelleVersion = objDateiLeser.ReadToEnd()
objDateiLeser.Close()
objDateiLeser = Nothing
Dim DownloadURL As String
objDateiLeser = New StreamReader("/Download.txt")
DownloadURL = objDateiLeser.ReadToEnd()
objDateiLeser.Close()
objDateiLeser = Nothing
If AktuelleVersion > Version Then
If (MsgBox("Es ist ein Update verfügbar! Soll die Download Seite" & _
"geöffnet und der Client geschlossen werden?", vbYesNo, "Update" & _
"verfügbar!")) = vbYes Then
Kill("\current.txt")
Kill("\Download.txt")
Process.Start(DownloadURL)
Application.Exit()
End If
End If
Kill("\current.txt")
Kill("\Download.txt") Solltet ihr noch irgendwelche Informationen über meinen PC oder mein Programm benötigen, sagt es mir einfach!
Beitrag wurde zuletzt am 18.11.12 um 17:05:50 editiert. |