.NET 4.x Как создать менеджер обновлений - C#
Формулировка задачи:
Собственно сабж
Есть прога и у неё есть файлы, базы данных, плагины + сам exeшник.
Как сделать обновлялку всего этого? Например на серваке есть файл
Предположим xml с названием файла версией и ссылкой для скачки.
Если версия у юзера меньше то он предлагает скачать тот или иной файл и заменить его.
Сей час у меня просто проверяет txt файл в котором указана версия типа 0.3.0.11 сверяет с версией проги если больше то скачивает самоизвлекаемый архив запускает его в папке с прогой прогу закрывает и из архива просто выплевывается всё с заменой. Причем при обновлении просто тупо ВД приходится менять и версию проги.
private void button1_Click(object sender, EventArgs e) { FRM_MessageBox Message = new FRM_MessageBox("Да", "Нет", "Ок"); try { System.Net.WebClient webClient = new System.Net.WebClient(); Uri url = new Uri(@"http://****.narod.ru/progi/PravoInfo/ver.ver"); webClient.DownloadFile(url, "ver.ver"); using ( StreamReader cin = new StreamReader("ver.ver") ) { label4.Text = cin.ReadLine(); if (Convert.ToInt64(label3.Text.Replace(".", "")) != Convert.ToInt64(label4.Text.Replace(".", ""))) { if (Message.Show("Хотите обновиться???", "Внимание!", cin.ReadToEnd()) == true) { //MessageBox.Show(""); url = new Uri(@"http://****.narod.ru/progi/PravoInfo/New.Exe"); webClient.DownloadFile(url, "New.Exe"); Program.UpdateInfo = true;//флаг указывает что при закрытии проги надо запустить New.Exe } } else Message.Show("Вы используете последнюю версию", "Инфа", cin.ReadToEnd(), true); } } catch (Exception ee) { Message.Show("По ходу сервак в ауте\r\n" + ee.Message, "Упс!!!", true); } }
Решение задачи: «.NET 4.x Как создать менеджер обновлений»
textual
Листинг программы
using (WebClient webClient = new WebClient()) { webClient.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; .NET CLR 4.0.0;)"); webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged); webClient.DownloadFileAsync(new Uri(Url), FileName); return true; //Вот как сюда перейти после того как файл будет полностью загружен? а не до его загрузки? }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д