Launcher Update Funktion brauche hilfe

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

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Nofear23m.

    Launcher Update Funktion brauche hilfe

    Hallo Community,
    Ich hab für ein Spiel ein Launcher erstellt nun wollte ich da eine Update Funktion einbauen leider hab ich es nicht geschafft und wollte hier nun nach hilfe fragen.
    Er soll vom Server aus die Dateien downloaden im Ordner namens XYGameData entpacken und neu downloaden wenn die Versions.txt geändert wurde.Wie gesagt befinden sich die Dateien auf der Website die direkt über den Server gehostet wird über Xampp.Würde mich sehr über vorschläge und Hilfe freuen :)

    Mein Aktueller Code:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Imports System.ComponentModel
    2. Imports System.IO
    3. Imports System.Net
    4. Public Class Launcher
    5. Private WithEvents httpclient As WebClient
    6. Dim Pfad As String = Nothing
    7. Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
    8. Application.Exit()
    9. End Sub
    10. Private Sub PictureBox3_Click(sender As Object, e As EventArgs) Handles PictureBox3.Click
    11. Process.Start("https://www.XY.de")
    12. End Sub
    13. Private Sub PictureBox2_Click(sender As Object, e As EventArgs) Handles PictureBox2.Click
    14. Dim Test As String
    15. Dim Test2 As String
    16. Test = "IP=IP"
    17. Test2 = "Port=Port"
    18. Dim IP As String = Nothing
    19. Dim IP2 As String = (Test + IP)
    20. Dim Port As String = Nothing
    21. Dim PORT2 As String = (Test2 + Port)
    22. If Not File.Exists(Application.StartupPath + "/XY.dat") Then
    23. End If
    24. Dim path As String = Application.StartupPath + "/config.ini"
    25. Dim Checked As Boolean = False
    26. Dim port__1 As Boolean = False
    27. Dim ip__2 As Boolean = False
    28. If File.Exists(path) Then
    29. Dim list As New List(Of String)
    30. Using r As StreamReader = New StreamReader(path)
    31. Dim line As String
    32. line = r.ReadLine
    33. Do While (Not line Is Nothing)
    34. list.Add(line)
    35. Console.WriteLine(line)
    36. line = r.ReadLine
    37. Loop
    38. r.Close()
    39. End Using
    40. If list.Contains(PORT2) Then
    41. port__1 = True
    42. End If
    43. If list.Contains(IP2) Then
    44. ip__2 = True
    45. End If
    46. If ip__2 AndAlso port__1 Then
    47. Checked = True
    48. Else
    49. File.Delete(path)
    50. Using sw As StreamWriter = File.CreateText(path)
    51. sw.WriteLine("[XY_Network]")
    52. sw.WriteLine(IP2)
    53. sw.WriteLine(PORT2)
    54. Checked = True
    55. sw.Close()
    56. End Using
    57. End If
    58. Else
    59. Using sw As StreamWriter = File.CreateText(path)
    60. sw.WriteLine("[XY_Network]")
    61. sw.WriteLine(IP2)
    62. sw.WriteLine(PORT2)
    63. Checked = True
    64. sw.Close()
    65. End Using
    66. End If
    67. If Checked Then
    68. Dim nostalex As String = (Application.StartupPath + "/XY.dat")
    69. Dim path2 As String = """"
    70. path2 += XY
    71. path2 += """"
    72. Dim argument As String = "/c START "
    73. argument += """"
    74. argument += """"
    75. argument += " "
    76. argument += path2
    77. argument += " ClientLoadFromIni"
    78. Dim p As New Process()
    79. p.StartInfo = New ProcessStartInfo("cmd.exe", argument)
    80. p.StartInfo.CreateNoWindow = True
    81. p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
    82. p.Start()
    83. Application.[Exit]()
    84. End If
    85. End
    86. End Sub
    87. Private Sub Launcher_MouseDown(sender As Object, e As MouseEventArgs) Handles MyBase.MouseDown
    88. If (e.Button = Windows.Forms.MouseButtons.Left) Then
    89. Me.Capture = False
    90. Me.WndProc(Message.Create(Me.Handle, &HA1, CType(&H2, IntPtr), IntPtr.Zero))
    91. Else : End If
    92. End Sub
    93. End Class
    Hallo

    Kann dir nur davon abraten sowas selbst zu "basteln".

    Folgendes ist sicher, flexibel und einfach zu verwenden.
    nUpdate - Die komfortable Updatelösung

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Hallo,

    falls du es jedoch doch selbst basteln möchtest, wovon wie gesagt abgeraten wird,
    hier ein paar Stichworte, die dir helfen werden:
    - Net.WebClient
    - WebClient.DownloadFile
    - WebClient.DownloadString
    Bitte benutze OPTION STRICT ON.
    Und optional OPTION EXPLICIT ON.
    Hier ein CODE-CONVERTER.

    Suchanfragen-Ansatz für GOOGLE.
    Prüfe deinen Beitrag in einer RECHTSCHREIBPRÜFUNG.

    Wie ich gesehen habe ich das Programm auf C# da mein Launcher nun in Basic geschrieben wurde sehe ich da ein kleines problem,wenn es da noch Tutorials für Basic gibt schaue ich mir es sehr gern an.Auf dem ersten Blick sieht das gut aus :)


    Vollzitat entfernt
    -Artentus

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

    Dann möchte ich dir sagen das es keine Rolle spielt in welcher der genannten Sprachen es geschrieben ist. Es ist eine Bibliothek welche du einfach einbindest. (Verweis)
    Das der Quellcode offen ist, ist wieder eine andere Sache, hat dich aber für dein vorhaben nicht zu interessieren.

    Es gibt auch ein tutorial wie man es einbindet. UND die Adminkonsole spuckt sogar auf wunsch den code zum einbinden in ein eigenes VB.Net Programm aus.

    Also: Erst lesen, probieren, googeln und dann erst vermuten das etwas nicht möglich ist. (Nicht böse gemeint)

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##