2014-09-26 1 views
0

Я создаю проект в VB, у него есть загрузчик файлов, он отлично работает с файлами, такими как .txt или изображениями, но когда я пытаюсь загрузить .exe, .exe превращается в поврежденный файл, Я имею в виду, что программа загружает только 1 Кб файла и ее невозможно выполнить.VB .exe file загрузить

Я использую этот код:


My.Computer.Network.DownloadFile(
    "http://www.web.domain/Archive.exe", 
    "C:\Archive.exe") 

Я работаю в 2013 версии VS.

+0

Define поврежден? – Psychemaster

+0

Отредактировано, извините: D –

+0

Большинство веб-серверов предотвращают загрузку EXE-файлов (через http) по многим причинам. Я думаю, что DownloadFile всегда создает файл размером 1 КБ, чтобы убедиться, что вы можете записать требуемое местоположение. У вас есть контроль над веб-сервером? – Steve

ответ

0

YAY !!! Я нашел решение:

Там это ^^. Спасибо за ответы.


Private Sub download_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles  Download.Click 
    Download.Enabled = False 
    httpclient = New WebClient 
    AddHandler httpclient.DownloadFileCompleted, AddressOf Downloaded 

    httpclient.DownloadFileAsync(New Uri("https://www.dropbox.com/s/2ch4prhn063hmxs/vanilla.exe?dl=1"), ("C:\BarberLand\downloads\Vanilla\vanilla.exe")) 
End Sub 

Private Sub dpc(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles httpclient.DownloadProgressChanged 
    porcentaje.Text = e.ProgressPercentage 
End Sub 

Private Sub Downloaded() 
    'Comprueba si el fichero se ha descargado completamente. 
    If System.IO.File.Exists("C:\BarberLand\downloads\Vanilla\vanilla.exe") = True Then 

     Process.Start("C:\BarberLand\downloads\Vanilla\vanilla.exe") 
     Me.Close() 
    Else 
     MsgBox("El fichero no existe, pruebe con otra versión o si piensa que es un error, contácte con el administrador", 64, "Open") 
    End If 

End Sub