Обновление программы. Проверка версии - C#
Формулировка задачи:
Доброго вечера.
Делаю браузер. В с# только начинаю.
Суть такова. Нужно чтобы программа обновлялась при нажатии кнопку обновить(если конечно есть новая версия). Видел кучу примеров но не смог разобраться.
Очень хороший пример -> Обновление программы: проверка версии, скачивание
Но никак не могу разобраться, так как нихватает знаний.
не смог сделать загрузку через поток, так как не нашёл документации (понятной для меня).
а так сделал всё как полагается. По примеру кода.
в программе
а вот со второй программой как описано не разобрался.
создал
копипастнул код который был выложен
получил следующее
на выходе откопилированной программы и при нажатии на кнопку обновить создается файл весов всего 160б. Файлы на FTP загрузил. Версию.txt тоже скинул
Подскажите что не так.
Если нужно загрузить файл через поток, то помогите, как?
private void обновлениеToolStripMenuItem_Click(object sender, EventArgs e) { Thread.Sleep(3000); WebClient client = new WebClient(); string launchPath = Application.StartupPath; Uri ui = new Uri("http://х.х.х./update/программа.exe"); // от куда скачивать файл( как я понял) client.DownloadFile(ui, launchPath + "\\программа.exe"); // загружается файл с таким названием. Назвать его Process.Start("программа.exe"); // запуск программы в папке с таким названием }
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net; using update.Properties; using System.IO; using System.Diagnostics; namespace update { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public void selfUpdate() { try { WebClient client = new WebClient(); string actual = client.DownloadString(Settings.launchFilesUrl + "/version.txt"); string current = Application.ProductVersion; if (!File.Exists("update.exe")) { Uri ui = new Uri(Settings.launchFilesUrl + "/update.exe"); client.DownloadFile(ui, launchPath + "\\update.exe"); } if (!actual.Equals(current)) { DialogResult dial = MessageBox.Show("Доступна новая версия \nлаунчера, обновить?", "Автоматическое обновление", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly); if (dial == DialogResult.Yes) { Process.Start("update.exe"); Environment.Exit(0); } client.Dispose(); } } catch { } } public string launchPath { get; set; }} }
Решение задачи: «Обновление программы. Проверка версии»
textual
Листинг программы
private void обновлениеToolStripMenuItem_Click(object sender, EventArgs e) { Thread.Sleep(3000); WebClient client = new WebClient(); string launchPath = Application.StartupPath; Uri ui = new Uri("http://х.х.х./update/программа.txt"); // на сайте ucoz меняем расширение на txt client.DownloadFile(ui, launchPath + "\\программа.exe"); // сохраняем на диске с расширением exe Process.Start("программа.exe"); // запуск программы в папке с таким названием }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д