Обновление программы. Проверка версии - C#

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

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

Доброго вечера. Делаю браузер. В с# только начинаю. Суть такова. Нужно чтобы программа обновлялась при нажатии кнопку обновить(если конечно есть новая версия). Видел кучу примеров но не смог разобраться. Очень хороший пример -> Обновление программы: проверка версии, скачивание Но никак не могу разобраться, так как нихватает знаний. не смог сделать загрузку через поток, так как не нашёл документации (понятной для меня). а так сделал всё как полагается. По примеру кода. в программе
 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; }}
    }
на выходе откопилированной программы и при нажатии на кнопку обновить создается файл весов всего 160б. Файлы на FTP загрузил. Версию.txt тоже скинул Подскажите что не так. Если нужно загрузить файл через поток, то помогите, как?

Решение задачи: «Обновление программы. Проверка версии»

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"); // запуск программы в папке с таким названием
        }

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


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

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

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