У меня есть приложение для обновления, которое запускается, когда доступно обновление.Это приложение просто загружает новый exe-файл по указанному пути, но вдруг оно больше не работает.Программа обновления загружает файл размером 0 КБ и не выдает никакой ошибки.
Я загрузил новый exe-файл на сервер 2 месяца назад, и многие клиенты успешно загрузили файл.Вчера один из моих клиентов заметил, когда он начал работать с приложением, и обновление не удалось.Программа обновления работает на многих клиентах и работает всегда.Может ли это быть проблема с сервером?
Вот код обновления в C #:
public void StartUpdate()
{
WebClient webclient = new WebClient();
try
{
//webclient.DownloadFile("http://www.example.nl/folder/example.exe", @"C:\example\example.exe");
webclient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(webclient_DownloadProgressChanged);
webclient.DownloadFileCompleted += new AsyncCompletedEventHandler(webclient_DownloadFileCompleted);
webclient.DownloadFileAsync(new Uri("http://www.example.nl/folder/example.exe"), @"C:\example\example.exe");
}
catch (Exception)
{
MessageBox.Show("Download Failed.\n\nPlease contact your system administrator");
Application.Exit();
}
}
void webclient_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
{
label1.Text = "Download successfully!";
label3.Text = "Download complete!";
timer2.Enabled = true; //here some other magic happens like start the program and exit this updater.
}
void webclient_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
progressBar1.Maximum = (int)e.TotalBytesToReceive / 100;
progressBar1.Value = (int)e.BytesReceived / 100;
}
Я использую Apache на CentOS, где хранится исполняемый файл.Папка / файл разрешены.Когда я открываю exe URL в любом браузере, файл успешно загружается.Я никогда не изменяю exe-файл за последние 2 месяца и другие настройки на веб-сервере.Этот метод работал в течение 2 лет, и теперь он автоматически перестал работать.
ОБНОВЛЕНИЕ:
System.Net.WebException: The request has been aborted: Cannot create a secure SSL / TLS channel.
at System.Net.HttpWebRequest.EndGetResponse (IAsyncResult asyncResult)
at System.Net.WebClient.GetWebResponse (WebRequest request, IAsyncResult result)
at System.Net.WebClient.DownloadBitsResponseCallback (IAsyncResult result) A first chance exception or type 'System.ComponentModel.Win32Exception' occurred in System.dll