Updater ließt falsch aus

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von ThuCommix.

    Updater ließt falsch aus

    denke ich :)

    Hallo,
    ich schreibe aktuell einen Updater, dieser soll mit mehreren Updatechanneln laufen.
    So kann man z.B. auswählen ob man Alpha-, Beta- oder nur Finalupdates haben möchte.

    Das ganze läuft so ab:
    Das Programm lädt eine version.ini runter und ließt diese aus.
    In ihr steht Beispielweise "Alpha23" drin. Alpha für den Updatechannel und die 23 ist die Build ID des Programmes.

    Das Programm öffnet diese Datei und Definiert sie als VersionFile.

    VB.NET-Quellcode

    1. Dim VersionFile As String
    2. VersionFile = My.Computer.FileSystem.ReadAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\evilGTA\version.ini")


    Dann wird das ganze gesplittet:

    VB.NET-Quellcode

    1. Dim sText As String
    2. Dim sZahl As String
    3. Dim i As Integer
    4. sText = "" : sZahl = ""
    5. For i = 1 To Len(VersionFile.Text)
    6. If IsNumeric(Mid$(VersionFile, i, 1)) Then
    7. sZahl = sZahl & Mid$(VersionFile, i, 1)
    8. Else
    9. sText = sText & Mid$(VersionFile, i, 1)
    10. End If
    11. Next i
    12. Dim VersionType As String
    13. Dim VersionBuild As String
    14. VersionType = sText
    15. VersionBuild = sZahl


    Und nun zum eigentlichen Problem.
    Ich habe schon mehrere else schleifen eingebaut um zu gucken wo er zum stocken kommt.
    Spoiler anzeigen

    VB.NET-Quellcode

    1. If VersionBuild > BuildLabel.Text Then
    2. If VersionType = UpdateChannel.SelectedText Then
    3. Select Case MessageBox.Show("Es ist ein Update verfügbar! Möchtest du Updaten?", "Update verfügbar!", MessageBoxButtons.YesNo)
    4. Case Windows.Forms.DialogResult.Yes
    5. Shell(Path.GetDirectoryName(Application.ExecutablePath) & "\evilGTA Updater.exe")
    6. End
    7. Case Windows.Forms.DialogResult.No
    8. 'Code für Nein
    9. End Select
    10. Else
    11. If UpdateChannel.SelectedText = "Beta" Then
    12. If VersionType = "Final" Then
    13. Select Case MessageBox.Show("Es ist ein Update verfügbar! Möchtest du Updaten?", "Update verfügbar!", MessageBoxButtons.YesNo)
    14. Case Windows.Forms.DialogResult.Yes
    15. Shell(Path.GetDirectoryName(Application.ExecutablePath) & "\evilGTA Updater.exe")
    16. End
    17. Case Windows.Forms.DialogResult.No
    18. 'Code für Nein
    19. End Select
    20. End If
    21. ElseIf UpdateChannel.SelectedText = "Alpha" Then
    22. If VersionType = "Beta" Then
    23. Select Case MessageBox.Show("Es ist ein Update verfügbar! Möchtest du Updaten?", "Update verfügbar!", MessageBoxButtons.YesNo)
    24. Case Windows.Forms.DialogResult.Yes
    25. Shell(Path.GetDirectoryName(Application.ExecutablePath) & "\evilGTA Updater.exe")
    26. End
    27. Case Windows.Forms.DialogResult.No
    28. 'Code für Nein
    29. End Select
    30. ElseIf VersionType = "Final" Then
    31. Select Case MessageBox.Show("Es ist ein Update verfügbar! Möchtest du Updaten?", "Update verfügbar!", MessageBoxButtons.YesNo)
    32. Case Windows.Forms.DialogResult.Yes
    33. Shell(Path.GetDirectoryName(Application.ExecutablePath) & "\evilGTA Updater.exe")
    34. End
    35. Case Windows.Forms.DialogResult.No
    36. 'Code für Nein
    37. End Select
    38. End If
    39. Else
    40. MsgBox("looool")
    41. End If
    42. End If
    43. Else
    44. MsgBox("Es ist kein Update verfügbar.", MsgBoxStyle.Information)
    45. End If

    Welchen Channel er nutzen soll, ließt er aus einer ComboBox aus.
    Als Antwort erhalte ich lediglich die Messagebox loool.
    Theoretisch sollte er allerdings vorher schon sagen das ein Update verfügbar ist.
    Das Programm ist auf 26 im File steht 27, als Channel ist Alpha gewählt.

    Ich versuche es nun schon mehrere Stunden, habe es zwischendurch schon 2x neu geschrieben.
    Ich weiß einfach nicht mehr weiter.. :)