Programmversion auf Update prüfen

  • VB.NET

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

    Darf ich dir mal etwas anbieten? Das ist meine Versionscheck Variante.
    Du brauchst 1 Panel, 2 Label ( Oder du machst eben aus den Labeln ne Messagebox
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Private Sub Versionscheck()
    2. Dim NewTxt As String = Nothing
    3. Dim CurrentVersion As String
    4. Using web = New WebClient() With {.Proxy = Nothing}
    5. Try
    6. NewTxt = web.DownloadString("http://........../version.txt")
    7. Catch ex As Exception
    8. MessageBox.Show("Server nicht erreichbar")
    9. End Try
    10. End Using
    11. CurrentVersion = My.Resources.version
    12. Panel1.Visible = CurrentVersion <> NewTxt
    13. Label1.Text = CurrentVersion
    14. Label2.Text = NewTxt
    15. End Sub


    Das ganze dann einfach in das Load Event mit Versionscheck() Und fertig. Wichtig: die version.txt im Resources Ordner. (Da steht die Alte Version drin, und die neue ist die auf dem Webserver.)
    Das ​Panel Kann man nutzen um dann die neue Programmversion Herunterzuladen, die Webseite Anzeigen etc.. :)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Andy2002“ ()

    Andy2002 schrieb:

    Das ​Panel Kann man nutzen um dann die neue Programmversion Herunterzuladen, die Webseite Anzeigen etc.. :)
    Wie geht das mit einem Panel?
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Wenn du dotnet 6 nutzen solltest:
    docs.microsoft.com/en-us/dotne…ient?view=net-6.0#remarks

    Und ich empfehle kein .Net Framework 4.* mehr zu nutzen oder die liste (docs.microsoft.com/de-de/lifec…s/microsoft-net-framework) im Auge behalten solange es genutzt wird

    MfG

    Facebamm

    Andy2002 schrieb:

    Panel1.Visible = CurrentVersion <> NewTxt

    Cool, also kann man von 1.0.0 auf 0.1.0 updaten? :P

    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 :!:
    @Trade Ja weil mit <> ungleich geprüft wird. Man kann wenn man wirklich nur Größer haben will es mit > Größer als, oder mit >= Größer oder gleich machen. In den meisten fällen reicht aber ein ungleich <> aus. So kann man zur Not auch Rollbacks machen. :D
    @mrMo Das geht mit einen Panel ebenso wie mit einer Form. In Meinen Fall hab ich in der Form die Webseite per Webclient drin. Man könnte aber auch direkt einen Button zum Downloaden einbauen. Da gibt es Hunderte Möglichkeiten. Und der Webclient ist nicht an der Form gebunden, der kann auch im Panel sitzen.

    Andy2002 schrieb:

    Das geht mit einen Panel ebenso wie mit einer Form. In Meinen Fall hab ich in der Form die Webseite per Webclient drin. (…) Und der Webclient ist nicht an der Form gebunden, der kann auch im Panel sitzen.
    Verrückt was mittlerweile alles mit Forms und Panels möglich ist. Zu meiner Zeit konnte man da weder Webclients noch Webseiten drin haben.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    Andy2002 schrieb:

    Man kann wenn man wirklich nur Größer haben will es mit > Größer als, oder mit >= Größer oder gleich machen.
    Aber sicher nicht mit Option Strict On. ;)

    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 :!:
    @ErfinderDesRades Ja, der Teil schon. Wenn du jetzt aber Versionen wirklich vergleichen möchtest mittels >-Operator, dann bin ich mir nicht so sicher, ob das immer so gut klappt. Streng genommen ist das auch afaik möglich, Strings so zu vergleichen (daher ist meine Aussage wohl nicht ganz korrekt, also hat nichts direkt mit Option Strict On zu tun, sondern eher wie man vergleicht) und es kann sein, dass das wegen der Zeichenreihenfolge sogar was korrektes rauswirft, wenn man simple Versionen verwendet. Schön ist das aber natürlich nicht. Besser wäre natürlich eine eigene Klasse, die den Operator überlädt.

    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 :!:
    Ja, das auf jeden Fall. Nur kann die halt z.B. nicht mit SemVer umgehen. Wenn man aber eh nur Major.Minor.Build.Revision parsen will, dann reicht die vollkommen aus.

    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 :!: