Seite 1 von 2 12 Letzte
  1. #1
    Avatar von exception
    Registriert seit
    27.03.2012
    Beiträge
    198
    Thanked 57 Times in 36 Posts

    Standard [HowTo] Update-Funktion

    Hallo,
    da vorher jemand gefragt hat wie man in VB.Net am besten einen Updater realisiert, habe
    ich mich dazu entschlossen ein kleine Funktion dafür zu schreiben.

    Funktionsweise:
    Ihr habt 2 .txt's auf einem Webspace. Eine mit der aktuellen Version(text) und eine mit der
    URL wo man die aktuellste Version downloaden kann.

    z.B.

    version.txt
    Inhalt: 1.0.0

    path.txt
    Inhalt: http://deineUrl.de/new.exe/

    Im Source müsst ihr das natürlich
    auf die Variable 'version' anpassen. Falls eine neue Version verfügbar ist, wird man
    gefragt ob man sie downloaden will. Wenn ja, wird ein Dialog geöffnet um den Pfad
    auszusuchen und die neue Version wird heruntergeladen.

    Folgende Variablen werden benötigt:
    PHP-Code:
        Dim ofd As New FolderBrowserDialog
        Dim urlVersion 
    As String "http://127.0.0.1/version.txt"
        
    Dim urlPath As String "http://127.0.0.1/path.txt"
        
    Dim version As String "0.0.1"
        
    Dim nPath As String String.Empty
        
    Dim nVersion As String String.Empty
        
    Dim WithEvents wc As New WebClient 
    Hier ist die eigentliche Funktion:
    PHP-Code:
            Private Sub checkForUpdate()
            Try
                
    nPath wc.DownloadString(urlPath)
                
    nVersion wc.DownloadString(urlVersion)
            Catch 
    ex As Exception
                MessageBox
    .Show("Keine Verbindung!")
                Exit 
    Sub
            End 
    Try

            If 
    Not nVersion version Then
                Dim r 
    As MsgBoxResult MsgBox("Eine neue Version ist verfügbar! Downloaden?"MsgBoxStyle.YesNo)
                If 
    MsgBoxResult.Yes Then
                    ofd
    .ShowDialog()
                    Try
                        
    wc.DownloadFileAsync(New Uri(nPath), ofd.SelectedPath "\Updater" nVersion ".exe")
                    Catch 
    ex As Exception
                        MessageBox
    .Show("Keine Verbindung!")
                    
    End Try
                
    End If
            Else
                
    MessageBox.Show("Kein Update verfügbar!")
            
    End If
        
    End Sub 
    Dann brauchen wir noch das ProgressBarChangeValue-Event:
    PHP-Code:
        Private Sub w_DownloadProgressChanged(ByVal sender As ObjectByVal e As System.Net.DownloadProgressChangedEventArgsHandles wc.DownloadProgressChanged
            ProgressBar1
    .Value e.ProgressPercentage
        End Sub 
    Und so ruft man das ganze auf:
    PHP-Code:
    checkForUpdate() 
    Die ProgressBar wird natürlich nicht zwangsweise benötigt.

    Bei Fragen fragen!

    MfG
    Geändert von exception (21.08.2012 um 13:22 Uhr)

  2. The Following User Says Thank You to exception For This Useful Post:

    x BoooM x (26.08.2012)

  3. #2
    Avatar von Snees
    Registriert seit
    18.11.2011
    Beiträge
    1.001
    Thanked 590 Times in 319 Posts

    Standard AW: [HowTo] Update-Funktion

    >>> Visual Basic .NET programming for Beginners - Try ... Catch

    Wenn deine Seite mal nicht erreichbar ist schmiert das Programm ab.

  4. #3
    Avatar von exception
    Registriert seit
    27.03.2012
    Beiträge
    198
    Thanked 57 Times in 36 Posts

    Standard AW: [HowTo] Update-Funktion

    Zitat Zitat von Nico Beitrag anzeigen
    >>> Visual Basic .NET programming for Beginners - Try ... Catch

    Wenn deine Seite mal nicht erreichbar ist schmiert das Programm ab.
    Ja, du hast recht.
    Hab das mal editiert.

    MfG

  5. #4
    Avatar von x BoooM x
    Registriert seit
    30.11.2011
    Beiträge
    1.261
    Thanked 588 Times in 260 Posts

    Standard AW: [HowTo] Update-Funktion

    Habe mal meine Verbindung getrennt und bin dann auf Aktuallisierung, eine MessageBox mit "Keine Verbindung" erscheint nicht, schmiert trotzdem ab.

  6. #5
    Avatar von Snees
    Registriert seit
    18.11.2011
    Beiträge
    1.001
    Thanked 590 Times in 319 Posts

    Standard AW: [HowTo] Update-Funktion

    Habe schon lange VB.Net nicht mehr angepackt aber ich finde es so schöner: (mit Sicherheit Fehler drin)

    PHP-Code:
    Dim downloadlink as String "http://blu.bb/latest.rar"

    Private Function checkForUpdate()
      
    Dim version as String "0.1"
      
    Dim wc as new System.Net.Webclient
      Dim checklink 
    as String "http://blu.bb/version.txt"
      
    Dim update as boolean false
      
      
    Try
        
    dim newVersion as string wc.DownloadString(checklink)
      Catch 
    ex as Exeption
        
    return false
      End 
    Try
      
      if 
    newVersion 0.2 Then
        
    return true
      
    else
        return 
    false
      end 
    if
    End Function

    if 
    checkForUpdate true Then
    DOWNLOAD
    !
    end if 

  7. #6
    Avatar von exception
    Registriert seit
    27.03.2012
    Beiträge
    198
    Thanked 57 Times in 36 Posts

    Standard AW: [HowTo] Update-Funktion

    Zitat Zitat von x BoooM x Beitrag anzeigen
    Habe mal meine Verbindung getrennt und bin dann auf Aktuallisierung, eine MessageBox mit "Keine Verbindung" erscheint nicht, schmiert trotzdem ab.
    Hab meine Verbindung auch mal getrennt und es funktioniert genau so wie es auch sollte. Keine Ahnung was du falsch machst.

    Nico's Lösung würde natürlich auch funktionieren wenn man den Code anpasst.

  8. #7
    Avatar von Snees
    Registriert seit
    18.11.2011
    Beiträge
    1.001
    Thanked 590 Times in 319 Posts

    Standard AW: [HowTo] Update-Funktion

    Ich finde es sinnvoller die URL zum Download hardzucoden(gibt's das Wort? ), so spart man sich eine Abfrage

  9. #8
    Avatar von exception
    Registriert seit
    27.03.2012
    Beiträge
    198
    Thanked 57 Times in 36 Posts

    Standard AW: [HowTo] Update-Funktion

    Zitat Zitat von Nico Beitrag anzeigen
    Ich finde es sinnvoller die URL zum Download hardzucoden(gibt's das Wort? ), so spart man sich eine Abfrage
    Ja, man könnte die aktuelle Version am Server natürlich immer nur programm.exe nennen.
    Wäre wirklich fast sinnvoller da man sich eine weitere Abfrage erspart.

    //edit

    Stimmt, latest.exe/rar würde es wohl am besten treffen xD
    Geändert von exception (21.08.2012 um 14:07 Uhr)

  10. #9
    Avatar von Snees
    Registriert seit
    18.11.2011
    Beiträge
    1.001
    Thanked 590 Times in 319 Posts

    Standard AW: [HowTo] Update-Funktion

    Siehe mein Code:
    Dim downloadlink as String = "http://blu.bb/latest.rar"

  11. #10
    Avatar von Diebspiel
    Registriert seit
    18.11.2011
    Beiträge
    311
    Thanked 191 Times in 102 Posts

    Standard AW: [HowTo] Update-Funktion

    Zitat Zitat von Nico Beitrag anzeigen
    Ich finde es sinnvoller die URL zum Download hardzucoden(gibt's das Wort? ), so spart man sich eine Abfrage
    Genau so ein Unfug, wie zwei verschiedene Textdateien zu nehmen.

    Wo ist das Problem alles in eine Datei zu schreiben? 1.2.3|URL

  12. The Following User Says Thank You to Diebspiel For This Useful Post:

    Dbzfreak1337 (21.08.2012)

Seite 1 von 2 12 Letzte

Ähnliche Themen

  1. Matheaufgabe mit e - Funktion
    Von !lkay im Forum Bildung
    Antworten: 4
    Letzter Beitrag: 22.01.2014, 00:32
  2. einfache diffen Funktion
    Von yamyam87 im Forum Knuddels Programmierung
    Antworten: 2
    Letzter Beitrag: 25.12.2012, 17:57
  3. Funktion mit 3 Parabelpunkten angeben
    Von !lkay im Forum Bildung
    Antworten: 3
    Letzter Beitrag: 18.09.2012, 20:18
  4. Neue Funktion - NextDate!
    Von Waterpolo im Forum Knuddels-News
    Antworten: 17
    Letzter Beitrag: 05.06.2012, 17:05
  5. Geheime Funktion zum Erkennen von IPs?
    Von FranzJoseph im Forum Fragen & Probleme
    Antworten: 2
    Letzter Beitrag: 10.12.2011, 07:08
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.