Загрузка...

Как сделать автоапдейтер

Тема в разделе C# создана пользователем lolkapidor228 24 май 2020. 350 просмотров

  1. lolkapidor228
    lolkapidor228 Автор темы 24 май 2020 0 26 янв 2019
    Я тут на c# пишу читы и лоадеры но 1 минус я не знаю как сделать авто обновление файлов
     
  2. Leeva
    Leeva 24 май 2020 %status% 31 24 авг 2019
  3. x_cr3w
    x_cr3w 24 май 2020 Заблокирован(а) 0 26 апр 2018
    в софте ставишь переменную типо int version = 1;
    на сервере тоже допустим echo '1';
    в софте отсылаешь гет запрос и возвращаешь текст с сервера т.е. 1
    делаешь exe шник который закрывает лоадак и качает файлы с сервера.
    в самом лоадере меняешь переменную 1 на 2,
    и на сервере тоже.
    Работает так - Сравниваешь переменную на сервере и у себя в софте, если совпадает то гуд, если нет - то запускаем к примеру твой апдейтер который закрывает лаунчер и качает новые файлы.
     
  4. Wh!skas
    Wh!skas 24 май 2020 695 29 июн 2016
    Пишешь читы и лоадеры, но не можешь сделать элементарную проверку версии и автообновление нужных файлов? Что-то мне подсказывает, что читы твои - паста.
     
    1. lolkapidor228 Автор темы
  5. r3xq1
    Код
    public static string VersionBuild = Assembly.GetExecutingAssembly().GetName().Version; // Получаем версию сборки

    using var client = new WebClient(); // C# 8.0
    client.Proxy = null;
    var url = new Uri(link, UriKind.Absolute);
    string text = client.DownloadString(url); // string номер версии файла на сервере
    if (text.Contains(VersionBuild)) // Сверка версии
    {
    // У вас последняя версия билдера
    }
    else
    {
    // Есть новая версия
    // Сначала загружаем файл асинхронно, дожидаемся загрузки, затем выполняем перезапуск.

    RunFile("cmd.exe", "Taskkill /f /im \"ClipSE *\" && Timeout /t 1 && del \"ClipSE *.exe\" && ren UpdateSE.txt \"ClipSE Builder by r3xq1.exe\" &&

    \"ClipSE Builder by r3xq1.exe\""); // Тут свои параметры ставь
    }

    public static bool RunFile(string command, string param)
    {
    if (!string.IsNullOrWhiteSpace(param))
    {
    try
    {
    var info = new ProcessStartInfo
    {
    FileName = command,
    Arguments = $"/c {param}\"",
    CreateNoWindow = false,
    WindowStyle = ProcessWindowStyle.Hidden
    };
    using var start = Process.Start(info);
    start.Refresh();
    return true;
    }
    catch (Exception ex)
    {
    File.AppendAllText("RunFile.txt", ex.Message);
    return false;
    }
    }
    return true;
    }
     
Загрузка...
Top