WebBrowser aktualisiert beim Start nicht korrekt

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 22 Antworten in diesem Thema. Der letzte Beitrag () ist von Sushi87.

    WebBrowser aktualisiert beim Start nicht korrekt

    Hallo Leute,


    sorry das dies mein erster Post mit solch einem "kleinen" Fehler anfängt, aber ich komme leider nicht mehr weiter.

    Und zwar:

    Habe ich diese beide Abteilungen

    Visual Basic-Quellcode

    1. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    2. WebBrowser1.Refresh(WebBrowserRefreshOption.Completely)
    3. WebBrowser1.Navigate("http://xxxxxxxxx/Update/update.html")
    4. End Sub


    und

    Visual Basic-Quellcode

    1. Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
    2. If WebBrowser1.DocumentText = "0.1.4" Then
    3. MsgBox("Aktuelle Version", MsgBoxStyle.Information, "Update Check")
    4. ElseIf WebBrowser1.DocumentText > "0.1.4" Then
    5. MsgBox("Update vorhanden. Download startet.....", MsgBoxStyle.Exclamation, "Update Check")
    6. System.Diagnostics.Process.Start("http://xxxxxxxxx/Update/newlauncher.rar")
    7. End If
    8. End Sub



    Das Problem ist: Das dieser "Launcher" den WebBrowser mal so und mal so laden tut. Sprich, wenn ich zb eine Version 0.1.5 als html hochlade und man den Launcher neu öffnen, steht immernoch "Aktuelle Version" 0.1.4 obwohl 0.1.5 hoch geladen ist. Verstehe dieses Problem gerade nicht wirklich und würde mich freuen wenn jemand eine Ahnung hat und mir helfen würde.

    Sorry wenn etwas undeutlich ist :(


    EDIT

    Falls hier eine Lösung gefunden wird, hätte ich ggf eine andere Frage. Würde gerne die Download Aufforderung mit ja/nein versehen. Aber auch bei diesem Versuch scheiterte ich komplett.
    Moin,

    tue Dir einen Gefallen und trenne Dich davon.
    Nutze das UpdateSystem.NET, sodass Du Dir 1. das alles sparst (davon abgesehen, dass ein WebBrowser dafür komplett ungeeignet ist) und 2. gleich Sicherheit mit drinne ist.

    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 :!:
    Jupp.
    Ist sehr vorteilhaft, weil Du nicht mehr viel tun musst und das ganz bequem und automatisch geht. ;) Und sicher auch noch.

    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 :!:
    Glaube ich bin zu doof dafür.

    Es ist Installiert und habe die dll in die Toolbox gesteckt in mein VS Express 2013. Unterhalb wird mir UpdateController1 angezeigt, über die Hilfe auf der Seite werde ich auch nicht wirklich schlau.
    Das Programm kann ich ja erst einrichten, wenn ich ein UpdateProjekt habe richtig?
    Schau mal hier: UpdateSystem.Net Tutorial
    #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 :!:
    Super, bin gerade dabei mich darüber schlau zu machen.

    Dieser "test.udprojx" Pfad dort im TuT, ist das eine Datei von dem Programm die Erstellt wird oder welchen DateiPfad soll ich da angeben? Weil habe in meinem VS2013/Projects/NAME/NAME/ eine .vbproj Datei.

    Noch ne kurze Frage, wie kann ich ein Label oder so Einstellen, das die Assemblyversion mir direkt Angezeigt wird? Weil dies bearbeite ich per Hand (Label = Client Version: 0.1.4). Wenn dies direkt durch den Code ausgegeben werden würde, würde ich mir diesen Schritt auch immer sparen :D


    Aber an dieser Stelle nochmal vielen Dank für die Hilfe zu dieser Lösung, echt Spitze :)
    Moin,

    freut mich.
    Die Assemblyversion stellst Du normal dann ja in den Projekteinstellungen ein, wenn Du es so machen willst.

    Dann einfach dem Label das zuweisen und es macht das automatisch:

    VB.NET-Quellcode

    1. Assembly.GetExecutingAssembly().GetName().Version


    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 :!:
    So weiter geht es mit den Problemen :(

    Alles fertig eingerichtet und in der Form ist es auch schon (alle Daten kopiert etc).
    Wenn ich das Programm über VS starte, kommt die Box zwecks dem Update und kontrolliert es sauber, nach schließen der Box öffnet sich mein Launcher. Wenn ich jetzt allerdings die .exe Datei aus C:\Users\ich\Documents\Visual Studio 2013\Projects\XX\XX\obj\Release öffnen möchte kommt "Launcher funktioniert nicht mehr"
    Noob on the Way :thumbdown:

    Gerade gesehen. Macht das jetzt etwas wenn die .udprojx Datei im /obj Ordner ist?


    Sorry für die ganzen Fragen.


    EDIT

    Bzw wenn ich die Anwendung aus dem Ordner zb auf den Desktop kopiere funktioniert es auch nicht. Wenn ich die im /bin Ordner öffne funktioniert es
    Öhm, wo Du die speicherst ist ja egal, die brauchst ja eh nur Du.
    #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 klar, sonst ist der Verweis ja ungültig.
    #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 :!:
    Okay es geht soweit. Habe mal ein Update gemacht, diese wird erkannt und geladen.

    Wenn ich diese Installieren möchte, sagt er mir "Fehler beim Dateizugriff" Er kann die Datei nicht Überschreiben. Habe die im Updatepaket unter Aktionen -> Dateien kopieren oder ersetzen -> Programmverzeichnis reingepackt (also die neue Anwendung).


    Wenn es bald funktioniert gebe ich einen aus :D

    Edit:

    Kann doch nicht sein, egal wo ich die Datei hinpacke, das er Sie nicht Überschreiben kann?
    Habe ich vielleicht eine Einstellung vergessen? Egal ob Desktop oder Programm Ordner. Habe schon die Rechte am PC deaktiviert.

    Funktioniert doch bei vielen anderen auch :(


    // Oh sorry, wollte mein alten Beitrag bearbeiten, hab es mal gemeldet
    Hmm, gute Frage.
    Was genau ist die Meldung?
    #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 :!: