Сохранить файл настроек при обновлении - C#
Формулировка задачи:
Привет! Возникла проблема. Почему то не работает второй раз?! вообщем суть такая: допустим на форме всего 2 кнопки , "Установить" при нажатие на которую скачивается архив, потом распаковывается; и кнопка "открыть конфиг", при нажатии на которую открывается файл настроек из скаченного и распакованного архива. И тут я загорел желанием сохранять уже существующий конфиг при повторном нажатии кнопки "Установить". Вот что у меня получилось:
Так вот проблема в том что это работает тока 1 раз! при повторном и последующих нажатиях кнопки "Установить" конфиг не восстанавливается... а почему, понять не могу.
Листинг программы
- private void button3_Click(object sender, EventArgs e)
- {
- if (File.Exists(@"MODS/Realism2015v2/sp2_uberfox.xml"))
- {
- File.Move(@"MODS/Realism2015v2/sp2_uberfox.xml", @"MODS/Realism2015v2/sp2_uberfox.xml_tmp");//Сохраняем конфиг в резервном файле
- }
- //Скачиваем новый архив
- Uri Uri = new Uri("http://realism2015.ru/realism2015v2/uberfoxmod.7z");
- WebClient.DownloadFileAsync(Uri, "uberfoxmod.7z");
- WebClient.DownloadProgressChanged += new System.Net.DownloadProgressChangedEventHandler(WebClient_DownloadProgressChanged);
- WebClient.DownloadFileCompleted += new System.ComponentModel.AsyncCompletedEventHandler(WebClient_DownloadFileCompleted);
- }
- // ...бла бла бла (распаковываю скачанный архив)
- void WebClient_DownloadFileCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
- {
- label1.Text = string.Format("Installing...");
- using (var extr = new SevenZipExtractor(@"uberfoxmod.7z"))
- {
- extr.ExtractArchive(@"MODS\Realism2015v2");
- extr.FileExtractionStarted += new EventHandler<FileInfoEventArgs>(extr_FileExtractionStarted);
- extr.Extracting += new EventHandler<ProgressEventArgs>(extr_Extracting);
- extr_UberExtractionFinished(); //начинаю восстанавливать предыдущий конфиг
- }
- }
- void extr_UberExtractionFinished()
- {
- if (File.Exists(@"MODS/Realism2015v2/sp2_uberfox.xml_tmp"))
- {
- File.Replace(@"MODS/Realism2015v2/sp2_uberfox.xml_tmp", @"MODS/Realism2015v2/sp2_uberfox.xml", @"MODS/Realism2015v2/sp2_uberfox.xml_tmp2", false);
- File.Delete(@"MODS/Realism2015v2/sp2_uberfox.xml_tmp2");
- }
- label1.Text = string.Format("UberFoxMod succesfully integrated");
- progressBar1.Value = 0;
- }
Решение задачи: «Сохранить файл настроек при обновлении»
textual
Листинг программы
- File.Move(config, configtmp);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д