Updater be Visual basic 2010

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Trade.

    Updater be Visual basic 2010

    Hallo,
    ich habe einen Updater für mein Programm gemacht, es läuft auch alles einwandfrei, nur hab ich noch ein Problem, und ich weis nicht woran es liegt.
    Mein Updater erkennt wenn ich in die Txt datei auf meinem FTP server schreibe 1.0.0.1 ein update, aber das macht er auch wenn das Programm bereits auf Version 1.0.0.1 ist.
    aber ich will, das er nur kennt wenn ein Update zu verfügung steht, wenn der Nutzer auch eine alte Version hat.
    Mein Code
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Class Updater
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. Button1.Enabled = False
    4. Button1.Text = "Checking for updates..."
    5. Timer1.Start()
    6. Label1.Text = ProgressBar1.Value
    7. CheckForUpdates()
    8. End Sub
    9. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    10. ProgressBar1.Increment(5)
    11. Label1.Text = ProgressBar1.Value
    12. If ProgressBar1.Value = 100 Then
    13. Timer1.Stop()
    14. If ProgressBar1.Value = 100 Then
    15. Dim request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("http://christian.square7.ch/Version.txt")
    16. Dim response As System.Net.HttpWebResponse = request.GetResponse()
    17. Dim sr As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream())
    18. Dim newestversion As String = sr.ReadToEnd()
    19. Dim currentversion As String = Application.ProductVersion
    20. If newestversion.Contains(currentversion) Then
    21. Button1.Visible = False
    22. Label2.Text = ("You have the newest Version")
    23. Else
    24. Button1.Text = ("Would you Update?")
    25. WebBrowser1.Navigate("http://christian.square7.ch/Da Bayerische Browser setup.exe")
    26. Label2.Text = ("")
    27. End If
    28. End If
    29. End If
    30. End Sub
    31. Public Sub CheckForUpdates()
    32. If ProgressBar1.Value = 100 Then
    33. Dim request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("http://christian.square7.ch/Version.txt")
    34. Dim response As System.Net.HttpWebResponse = request.GetResponse()
    35. Dim sr As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream())
    36. Dim newestversion As String = sr.ReadToEnd()
    37. Dim currentversion As String = Application.ProductVersion
    38. If newestversion.Contains(currentversion) Then
    39. Button1.Text = ("You are up todate!")
    40. Label2.Text = ("You can close")
    41. Else
    42. Button1.Text = ("Downloading update!")
    43. WebBrowser1.Navigate("http://christian.square7.ch/Da Bayerische Browser setup.exe")
    44. Label2.Text = ("You may now close this dialog")
    45. End If
    46. End If
    47. End Sub
    48. End Class

    ?(
    Moin und willkommen im Forum,

    zunächst verwendest Du HTTP, das ist gut. Allerdings lädst Du einfach so Binaries unvalidiert von einem Webspace. Lies Dir dazu das durch: Updater - Warum sollte man eigene Updater vermeiden?

    Dein Version-System ist auch etwas komisch. Normal gäbe es dafür die Version-Klasse, über die Du das mit entsprechenden Operatoren regeln könntest, dass es geht. Aber wie gesagt, erstmal das obere noch vergewissern. ;)

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Müsste dort im Thread unten paar verlinkt haben.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!: