.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; //Вот как сюда перейти после того как файл будет полностью загружен? а не до его загрузки?
                }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5
Похожие ответы