Problem mit Patcher

  • VB.NET

Es gibt 33 Antworten in diesem Thema. Der letzte Beitrag () ist von SystemUnknow.

    Problem mit Patcher

    Hi,

    ich habe jetzt eine mini-patcher gebastelt, habe aber das problem das er immer alles neu downloadet. Ich moechte das er bevor er patcht eine patch.ini o.Ä. herunterlaed und mit der patch.ini im verzeichnis vergleicht. wenn der inhalt (z.b. Version 1.0) gleich ist dann patcht er nicht wenn die versionen (inhalt) aber verschieden sind dann soll er patchen.

    bitte um hilfe :D
    das Problem ist, dass du nichts gemacht hast...
    du hast anscheinend kein fetzchen Code, welchen wir verbessern könnten, du willst einfach nur Code...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---

    VB.NET-Quellcode

    1. Public Class Form1
    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 = "Loading..."
    5. TextBox1.Text = "patch started..."
    6. ProgressBar1.Value = "1"
    7. Timer1.Start()
    8. End Sub
    9. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    10. ProgressBar1.Value = "2"
    11. TextBox1.Text = "datei1 is being tested"
    12. If My.Computer.FileSystem.FileExists("datei1k") Then
    13. My.Computer.FileSystem.DeleteFile("datei1")
    14. TextBox1.Text = "root.epk was deleted."
    15. End If
    16. My.Computer.Network.DownloadFile("http://****.com/patch/datei1", "datei1")
    17. TextBox1.Text = "root.epk was successfully patched"
    18. ProgressBar1.Value = "3"
    19. ProgressBar1.Value = "3"
    20. TextBox1.Text = "datei2 is being tested"
    21. If My.Computer.FileSystem.FileExists("datei2") Then
    22. My.Computer.FileSystem.DeleteFile("datei2")
    23. TextBox1.Text = "datei2 was deleted."
    24. End If
    25. My.Computer.Network.DownloadFile("http://****.com/patch/datei2", "datei2")
    26. TextBox1.Text = "datei2 was successfully patched"
    27. ProgressBar1.Value = "4"
    28. TextBox1.Text = "patch was successfully finished"
    29. ProgressBar1.Value = "100"
    30. If My.Computer.FileSystem.FileExists("datei.bin") Then
    31. Shell("datei.bin")
    32. End If
    33. Timer1.Stop()
    34. Me.Close()
    35. End Sub
    36. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    37. Shell("datei.exe")
    38. End Sub
    39. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    40. Me.Close()
    41. End Sub
    42. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    43. End Sub
    44. End Class


    So bitteschoen der code, habe allerdings meine dateinamen und verzeichnisse abgeaendert und es auf 2 zu patchende dateien gekuerzt
    1. forderungen kannst du an deine eltern stellen
    2. seit froh das man überhaupt was postet
    3. tuts sollen dir helfen wie man mit INI umgeht
    4. bist du nicht fächig selber vorgekaute Code anzupassen, dann würde ich dir mal raten ganz schnell hier anfangen:openbook.galileocomputing.de/einstieg_vb_2008/
    Was sollen immer diese undisqualifizierten, unnoetigen einfach nicht passenden posts?
    Der Forum ist nicht dafür da, das man dir/anderen fertige OpenSource bastelt, damit du/anderen Strg + C/Strg+V ausführen !
    Denke das war jetzt klar genug !

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

    singu schrieb:

    Das mit Timer ist unnötig. Das ganze kannst du auch ohne Timer lösen. Oder willst du ständig prüfen ob eine neue Version vorhanden ist?

    SystemUnknow schrieb:

    Was sollen immer diese undisqualifizierten, unnoetigen einfach nicht passenden posts?
    Der Forum ist nicht dafür da, das man dir/anderen fertige OpenSource bastelt, damit du/anderen Strg + C/Strg+V ausführen !
    Denke das war jetzt klar genug !
    Sehe nicht wo ich verlangt habe das mit jemand einen kompletten Script schreibt. Bitte tu mir den gefallen und mach nicht alle meine Threads immer kaputt wenn du sowieso nicht helfen willst.

    Purusha schrieb:

    Sehe nicht wo ich verlangt habe das mit jemand einen kompletten Script schreibt. Bitte tu mir den gefallen und mach nicht alle meine Threads immer kaputt wenn du sowieso nicht helfen willst.
    Es ist die Art wie ein Thread gestartet wird. Z.B. hast du im ersten Beitrag keinerlei Frage, keinen Code bei dem du Probleme hast oder sonstige Anmerkung wo du Probleme hast formuliert. Du hast NUR geschrieben wie du es haben willst und das wird normalerweise so wahrgenommen, dass derjenige einen fertigen Code haben will und nicht daran interessiert ist das Problem selbst zu lösen.
    Also denk beim nächstenmal besser nach bevor du dein Eingangspost vormulierst.

    Mfg
    Firestorm
    Zum Thema:
    Ich habe auch mal einen (kleinen, billigen) Updater geschrieben. Der funktionierte folgendermassen:
    Die aktuelle Verisonsnummer habe ich als TXT auf dem Webserver gespeichert (beispielsweise: 1.0.1.0).
    Zudem hatte ich auf dem Server noch eine XML-Datei mit den Links zu den neuen Dateien und einer kleinen Beschreibung der Änderungen.
    Bei jedem Programmstart wurde überprüft, ob sich die Versionsnummer des ausgeführten Programms von der aktuellen unterscheidet:

    VB.NET-Quellcode

    1. Dim WC As New Net.WebClient
    2. If Not Application.ProductVersion = WC.DownloadString() Then
    3. 'Neue Version vorhanden
    4. End If

    Wenn dies der Fall ist, wird die XML aus dem Netz heruntergeladen und ausgelesen .
    Ich habe dann ein Fenster, wo alle Informationen dargestellt wurden (aus der XML) und der Download der Dateien (via WebClient) gestartet wurde ;)

    Ist simpel aber funktioniert :)


    Gruss
    Pascal