Hallo liebe vb-paradise Community,
ich habe im Netz und bei Google mich tot gesucht und wende mich nun an euch.
Ich bin zurzeit dabei ein Programm zu schreiben, welches Dateien (Textdateien, Dll's, Exe,... usw) step by step überprüft und
falls nötig mit der aktuellen Datei ersetzt.
Ich habe dazu eine Fileliste erstellt mit zwei Informationen:
Pfad+name der datei ; md5 Hash
also z.B.
/züge.dll ; 26B7EF7142E838B886FED8159C891A10
Ich habe ein Programm geschrieben, welches mir diese Liste erstellt und das Funktioniert ohne Probleme.
Die liste sowie alle dateien werden auf einen Webspace hochgeladen.
Das 2. Programm also der Updater, ist mit den nötigen Informationen und Links gefüttert, wo sich Filelist und die zu ladenden Dateien befinden.
Am Anfangt wird die liste heruntergeladen und komplett ausgelesen in einem array.
Als nächstes wird die Downloadfunktion aufgerufen, welche als schleife dient. Dort wird jede Zeile des Arrays in 2 Variablen gesplittet.
Die locale Datei wird gesucht. Wenn sie nicht vorhanden ist lädt das Programm diese direkt runter. Falls vorhanden,
wird ebenfalls der MD5 Hash ermittelt und mit dem aus der Patchliste abgeglichen
Alles funktioniert wunderbar nur komme ich einfach nicht darauf, warum er Jede Datei trotzdem Runterlädt, obwohl sie genau gleich sind.
hier einfach mal der Entsprechende Ausschnitt meines Codes
er führt immer die NOT aktion aus, selbst wenn der Hash gleich ist (habe beide Hashes mit 2 msgboxen verglichen)
ich habe im Netz und bei Google mich tot gesucht und wende mich nun an euch.
Ich bin zurzeit dabei ein Programm zu schreiben, welches Dateien (Textdateien, Dll's, Exe,... usw) step by step überprüft und
falls nötig mit der aktuellen Datei ersetzt.
Ich habe dazu eine Fileliste erstellt mit zwei Informationen:
Pfad+name der datei ; md5 Hash
also z.B.
/züge.dll ; 26B7EF7142E838B886FED8159C891A10
Ich habe ein Programm geschrieben, welches mir diese Liste erstellt und das Funktioniert ohne Probleme.
Die liste sowie alle dateien werden auf einen Webspace hochgeladen.
Das 2. Programm also der Updater, ist mit den nötigen Informationen und Links gefüttert, wo sich Filelist und die zu ladenden Dateien befinden.
Am Anfangt wird die liste heruntergeladen und komplett ausgelesen in einem array.
Als nächstes wird die Downloadfunktion aufgerufen, welche als schleife dient. Dort wird jede Zeile des Arrays in 2 Variablen gesplittet.
Die locale Datei wird gesucht. Wenn sie nicht vorhanden ist lädt das Programm diese direkt runter. Falls vorhanden,
wird ebenfalls der MD5 Hash ermittelt und mit dem aus der Patchliste abgeglichen
Alles funktioniert wunderbar nur komme ich einfach nicht darauf, warum er Jede Datei trotzdem Runterlädt, obwohl sie genau gleich sind.
hier einfach mal der Entsprechende Ausschnitt meines Codes
VB.NET-Quellcode
- If My.Computer.FileSystem.FileExists(localfile) Then
- Label1.Text = "Datei: " & filename & " wird überpüft"
- hash = MD5FileHash(localfile)
- 'MsgBox(hash)
- 'MsgBox(dlhash)
- If hash = dlhash Then
- 'MsgBox(filename & " ist aktuell")
- Label1.Text = "Datei: " & filename & " ist aktuell"
- actvfile = actvfile + 1
- nextfile()
- ElseIf Not hash = dlhash Then
- ' MsgBox("Datei wird ersetzt")
- downloader2.DownloadFileAsync(New Uri(clientpath & filename), localfile)
- ' MsgBox(clientpath & filename)
- Label1.Text = filename
- Label1.Text = "Datei: " & filename & " wird ersetzt"
- End If
- ElseIf Not My.Computer.FileSystem.FileExists(localfile) Then
- 'MsgBox("Datei wird geladen")
- 'MsgBox(clientpath & filename)
- downloader2.DownloadFileAsync(New Uri(clientpath & filename), localfile)
- Label1.Text = "Datei: " & filename & " wird geladen"
- ' MsgBox(localfile)
- End If
- End If
er führt immer die NOT aktion aus, selbst wenn der Hash gleich ist (habe beide Hashes mit 2 msgboxen verglichen)
Viele Frauen kamen, viele sind gegangen, eine ist geblieben 12.5.12 ich liebe dich Schatz