Сохранить файл настроек при обновлении - 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д