Update prüfung

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Pascalony.

    Update prüfung

    Ich will mein Programm auf Updates überprüfen lassen. Habe dazu dies fertig gemacht.

    VB.NET-Quellcode

    1. Private web As System.Net.WebClient
    2. Private VersionsFilePath As String = "http://***/Programme/***application/version.txt" & "?dl=1"
    3. Private UpdateDownloadPath As String = "http://***/Programme/***application/***application.exe" & "?dl=1"
    4. Private SaveFileName As String = Application.StartupPath & "\update.exe"
    5. Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles Me.Shown
    6. If Not IsExecutedInIDE() Then CheckForUpdate()
    7. End Sub
    8. Private Sub CheckForUpdate()
    9. If TestInternetConnection() Then
    10. Try
    11. Dim version As String = web.DownloadString(VersionsFilePath)
    12. version = CInt(version)
    13. If version > CInt(lbl_version.Text) Then
    14. web.DownloadFile(UpdateDownloadPath, SaveFileName)
    15. MessageBox.Show("Ein Neues Update ist Verfügbar, es wird nun Installiert. Das Programm startet gleich neu.", "", MessageBoxButtons.OK, MessageBoxIcon.Information)
    16. Process.Start("update.bat")
    17. Application.Exit()
    18. End If
    19. Catch ex As Exception
    20. MessageBox.Show(ex.Message)
    21. End Try
    22. Else : MessageBox.Show("Keine Internetverbindung")
    23. End If
    24. End Sub
    25. Private Function TestInternetConnection() As Boolean
    26. Try
    27. Dim ping As New System.Net.NetworkInformation.Ping()
    28. ping.Send("google.de")
    29. Return True
    30. Catch ex As Exception
    31. Return False
    32. End Try
    33. End Function
    34. Private Function IsExecutedInIDE() As Boolean
    35. Return Debugger.IsAttached
    36. End Function


    leider zeigt er mir immer "objektverweis wurde nicht auf eine objektinstanz festgelegt" ... verstehe nur nicht ganz wo der fehler liegt wenn ich die Links anklicke, ist alles richtig.

    Danke im vorraus.

    VBHunter schrieb:

    Ich will mein Programm auf Updates überprüfen lassen. Habe dazu dies fertig gemacht.

    VB.NET-Quellcode

    1. Private web As System.Net.WebClient



    Das funktioniert so nicht.
    Du solltest den Webclient vor dem Download jeder einzelnen Datei neu initiieren.

    VB.NET-Quellcode

    1. For each Filezumrunterladen....
    2. dim WC as new System.Net.WebClient
    3. WC.Download....
    4. Next


    Aber da du ja wirklich nur die Version prüfst, wäre es da nicht sinnvoll, die Versionsdatei nicht herunterzuladen sondern einfach direkt aus dem Netz in einen String einzulesen?
    ~Wir leben zwar alle unter dem gleichen Himmel, aber es haben nicht alle den gleichen Horizont~
    Ah okay. Vielen Dank

    Ja ich will die Version prüfen lassen zwischen Label und Text-Datei vom Server und wenn die Text-Datei Höhr ist dann soll er die neue Version herrunterladen.

    Ist ja soweit richtig oder?
    Wieso verwendest du nicht einen fertigen Updater?
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!