Сохранить файл настроек при обновлении - C#

Узнай цену своей работы

Формулировка задачи:

Привет! Возникла проблема. Почему то не работает второй раз?! вообщем суть такая: допустим на форме всего 2 кнопки , "Установить" при нажатие на которую скачивается архив, потом распаковывается; и кнопка "открыть конфиг", при нажатии на которую открывается файл настроек из скаченного и распакованного архива. И тут я загорел желанием сохранять уже существующий конфиг при повторном нажатии кнопки "Установить". Вот что у меня получилось:
Листинг программы
  1. private void button3_Click(object sender, EventArgs e)
  2. {
  3. if (File.Exists(@"MODS/Realism2015v2/sp2_uberfox.xml"))
  4. {
  5. File.Move(@"MODS/Realism2015v2/sp2_uberfox.xml", @"MODS/Realism2015v2/sp2_uberfox.xml_tmp");//Сохраняем конфиг в резервном файле
  6. }
  7. //Скачиваем новый архив
  8. Uri Uri = new Uri("http://realism2015.ru/realism2015v2/uberfoxmod.7z");
  9. WebClient.DownloadFileAsync(Uri, "uberfoxmod.7z");
  10. WebClient.DownloadProgressChanged += new System.Net.DownloadProgressChangedEventHandler(WebClient_DownloadProgressChanged);
  11. WebClient.DownloadFileCompleted += new System.ComponentModel.AsyncCompletedEventHandler(WebClient_DownloadFileCompleted);
  12. }
  13. // ...бла бла бла (распаковываю скачанный архив)
  14. void WebClient_DownloadFileCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
  15. {
  16. label1.Text = string.Format("Installing...");
  17. using (var extr = new SevenZipExtractor(@"uberfoxmod.7z"))
  18. {
  19. extr.ExtractArchive(@"MODS\Realism2015v2");
  20. extr.FileExtractionStarted += new EventHandler<FileInfoEventArgs>(extr_FileExtractionStarted);
  21. extr.Extracting += new EventHandler<ProgressEventArgs>(extr_Extracting);
  22. extr_UberExtractionFinished(); //начинаю восстанавливать предыдущий конфиг
  23. }
  24. }
  25. void extr_UberExtractionFinished()
  26. {
  27. if (File.Exists(@"MODS/Realism2015v2/sp2_uberfox.xml_tmp"))
  28. {
  29. File.Replace(@"MODS/Realism2015v2/sp2_uberfox.xml_tmp", @"MODS/Realism2015v2/sp2_uberfox.xml", @"MODS/Realism2015v2/sp2_uberfox.xml_tmp2", false);
  30. File.Delete(@"MODS/Realism2015v2/sp2_uberfox.xml_tmp2");
  31. }
  32. label1.Text = string.Format("UberFoxMod succesfully integrated");
  33. progressBar1.Value = 0;
  34. }
Так вот проблема в том что это работает тока 1 раз! при повторном и последующих нажатиях кнопки "Установить" конфиг не восстанавливается... а почему, понять не могу.

Решение задачи: «Сохранить файл настроек при обновлении»

textual
Листинг программы
  1.                 File.Move(config, configtmp);

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


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

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

12   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы