Datei downloaden und überschreiben

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Horiiizon.

    Datei downloaden und überschreiben

    Hallo Leute!

    Ich bin grade dabei eine kleine Anwendung zu schreiben. Diese Anwendung überprüft die aktuelle Version und falls eine neue verfügbar ist, wird diese heruntergeladen und die alte überschrieben. Allerdings habe ich das mit dem Überschreiben noch nicht hinbekommen und bitte daher hier um Hilfe.

    Hatte erst versucht die Dateien zu löschen und dann zu downloaden, hat allerdings nicht funktioniert. Mit der SuFu habe ich mich auch schon eine Zeit befasst, hat aber nichts passendes ergeben.

    VB.NET-Quellcode

    1. If My.Computer.FileSystem.FileExists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & "\version.txt") Then ' Prüfen ob Datei vorhanden ist
    2. My.Computer.FileSystem.DeleteFile(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & "\version.txt") ' Wenn ja löschen
    3. End If
    4. My.Computer.Network.DownloadFile("http://www.domain.de/version.txt", Environment.GetFolderPath(My.Application.Info.DirectoryPath) & "\version.txt") ' Datei Neu Downloaden - Hier den Link zu der version.txt
    5. Dim Stream As New IO.StreamReader(Environment.GetFolderPath(My.Application.Info.DirectoryPath) & "\version.txt") ' Auslesen
    6. Dim z1 As String = Stream.ReadLine ' Inhalt der ersten Zeile wird in "z1" gespeichert
    7. Dim z2 As String = Stream.ReadLine ' Inhalt der zweiten Zeile wird in "z1" gespeichert
    8. Dim z3 As String = Stream.ReadLine ' Inhalt der zweiten Zeile wird in "z1" gespeichert
    9. Stream.Close()
    10. Form1.Label3.Text = z1
    11. Dim lblt As Integer = Form1.Label3.Text
    12. If lblt < z1 Then ' Wenn Label3.Text kleiner ist als "z1" dann
    13. My.Computer.Network.DownloadFile(z2, My.Application.Info.DirectoryPath & "\Datei" + "" + ".exe") ' Neue .dll in den Programm Ordner laden (Downloadlink in "z2")
    14. My.Computer.Network.DownloadFile(z3, My.Application.Info.DirectoryPath & "\Datei" + "" + ".dll") ' Neue .exe in den Programm Ordner laden (Downloadlink in "z3")
    15. MsgBox("Update wurde fertiggestellt..", MsgBoxStyle.Information, "Updater") ' Nachricht wenn download erfollgreich war
    16. Else
    17. MsgBox("Kein Update gefunden!", MsgBoxStyle.Information, "Updater") ' Nachricht wenn keine Updates vorhanden sind
    18. End If
    19. Me.Close() ' Schliessen
    20. End Sub
    21. End Class
    Danke! Hat funktioniert.

    VB.NET-Quellcode

    1. Dim lblt As Integer = Form1.Label3.Text
    2. If lblt < z1 Then ' Wenn Label3.Text kleiner ist als "z1" dann
    3. 'Download exe
    4. My.Computer.Network.DownloadFile _
    5. (z2, _
    6. My.Application.Info.DirectoryPath & "\CDatei.exe", _
    7. "", "", False, 0, True)
    8. 'Download dll
    9. My.Computer.Network.DownloadFile _
    10. (z3, _
    11. My.Application.Info.DirectoryPath & "\Datei.dll", _
    12. "", "", False, 0, True)
    13. MsgBox("Update wurde fertiggestellt.", MsgBoxStyle.Information, "Updater") ' Nachricht wenn download erfollgreich war
    14. Else
    15. MsgBox("Kein Update gefunden!", MsgBoxStyle.Information, "Updater") ' Nachricht wenn keine Updates vorhanden sind
    16. End If
    17. Me.Close() ' Schliessen