• Ищем качественного (не новичок) разработчиков Xenforo для этого форума! В идеале, чтобы ты был фулл стек программистом. Если у тебя есть что показать, то свяжись с нами по контактным данным: https://t.me/DREDD

Вопрос Auto Updater Loader

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
22 Дек 2018
Сообщения
362
Реакции
21
Всем привет, ребята помогите пожалуйста, Как сделать авто обновление лоадера?
Есть примеры какие нибудь? Может код, хотя бы часть, я буду рад всему что сможете подсказать, суть вопроса:
Нужно сделать автообновление лоадера, допустим есть старый лоадер, но версия не та, я запускаю новое приложение и оно удаляет старый лоадер, скачивает на его место новый, как мне это написать?

Буду очень благодарен всем за помощь, Спасибо за внимание!
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Всем привет, ребята помогите пожалуйста, Как сделать авто обновление лоадера?
Есть примеры какие нибудь? Может код, хотя бы часть, я буду рад всему что сможете подсказать, суть вопроса:
Нужно сделать автообновление лоадера, допустим есть старый лоадер, но версия не та, я запускаю новое приложение и оно удаляет старый лоадер, скачивает на его место новый, как мне это написать?

Буду очень благодарен всем за помощь, Спасибо за внимание!
проверку на версию, если не совпадает, то начинается скачивание нового лоудера. после скачивания нужно старый закрыть и удалить и запустить новый(можешь создать cmd и через него сделать удаление и запуск)
 
проверку на версию, если не совпадает, то начинается скачивание нового лоудера. после скачивания нужно старый закрыть и удалить и запустить новый(можешь создать cmd и через него сделать удаление и запуск)
а у тебя есть хотя бы часть кода?
достаточно скачку и проверку запущено ли
 
достаточно скачку
C++:
Expand Collapse Copy
#include "Windows.h"
#include "Wininet.h"
#pragma comment(lib, "wininet.lib")
 
//...
 
    HINTERNET hi = InternetOpenW(L"MyProgram", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
    if (hi == NULL)
    {
        cout << "error " << GetLastError() << endl;
    }
    else
    {
        HINTERNET hiu = InternetOpenUrlW(hi, L"http://server.ru/loader.exe", NULL, 0, INTERNET_FLAG_RELOAD, NULL);
        if (hiu == NULL)
        {
            cout << "error " << GetLastError() << endl;
        }
        else
        {
            char buf[10240];
            DWORD br;
            ofstream ofs("loader.exe", ofstream::binary);
            while (InternetReadFile(hiu, buf, 10240, &br) && br > 0)
            {
                cout << br << endl;
                ofs.write(buf, br);
            }
            ofs.close();
            InternetCloseHandle(hiu);
        }
        InternetCloseHandle(hi);
    }

проверку запущено ли
Насчет этого немного не понял вопроса
 
C++:
Expand Collapse Copy
#include "Windows.h"
#include "Wininet.h"
#pragma comment(lib, "wininet.lib")

//...

    HINTERNET hi = InternetOpenW(L"MyProgram", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
    if (hi == NULL)
    {
        cout << "error " << GetLastError() << endl;
    }
    else
    {
        HINTERNET hiu = InternetOpenUrlW(hi, L"http://server.ru/loader.exe", NULL, 0, INTERNET_FLAG_RELOAD, NULL);
        if (hiu == NULL)
        {
            cout << "error " << GetLastError() << endl;
        }
        else
        {
            char buf[10240];
            DWORD br;
            ofstream ofs("loader.exe", ofstream::binary);
            while (InternetReadFile(hiu, buf, 10240, &br) && br > 0)
            {
                cout << br << endl;
                ofs.write(buf, br);
            }
            ofs.close();
            InternetCloseHandle(hiu);
        }
        InternetCloseHandle(hi);
    }


Насчет этого немного не понял вопроса
Насчет этого немного не понял вопроса
P.S. Ну смотри, допустим я открыл Лоадер, а мне в нём пишет у вас старая версия, обновите его до новой, после этого лоадер сам закрывается, и теперь нужен код такого:
После того как я запустил updater'r у меня он закрылся, и вместо старого лоадера скачался на его место новый, уже обновлённый

всё что я написал только без проверку запущено ли , просто скачку нового на место старого,Пожалуйста)
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Насчет этого немного не понял вопроса
P.S. Ну смотри, допустим я открыл Лоадер, а мне в нём пишет у вас старая версия, обновите его до новой, после этого лоадер сам закрывается, и теперь нужен код такого:
После того как я запустил updater'r у меня он закрылся, и вместо старого лоадера скачался на его место новый, уже обновлённый

всё что я написал только без проверку запущено ли , просто скачку нового на место старого,Пожалуйста)
auto version = "0.7";
if(version != get_version())
{
... скачивание лоудера и т.д.
}
 
Короче что бы было проще, мне нужен код который обновляет мой лоадер с сайта, и перезаписывает старый
 
Если хочешь максимально эффективное автообновление своего приложения.

1. Хранишь строку на веб сервере с актуальным хешем (MD5) ->
Пожалуйста, авторизуйтесь для просмотра ссылки.

2. При запуске приложения сравниваешь хеши
3. В случае если они разные, то перекачиваешь

Немного об перекачивании.

1. Тебе нужно перед началом скачивания (если хеши действительно разнятся), переименовать свой loader.exe в loader.old.exe (например)
2. Скачать актуальный лоадер с веб сервера
3. Открыть новый лоадер с параметрами (путь до старого например), и закрыть старый

Новый лоадер откроется, и по параметру запуска удалит старый.

Все знания что тебе пригодятся здесь:
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.

enjoy :CoolCat:
 
Последнее редактирование:
Если хочешь максимально эффективное автообновление своего приложения.

1. Хранишь строку на веб сервере с актуальным хешем (MD5) ->
Пожалуйста, авторизуйтесь для просмотра ссылки.

2. При запуске приложения сравниваешь хеши
3. В случае если они разные, то перекачиваешь

Немного об перекачивании.

1. Тебе нужно перед началом скачивания (если хеши действительно разнятся), переименовать свой loader.exe в loader.old.exe (например)
2. Скачать актуальный лоадер с веб сервера
3. Открыть новый лоадер с параметрами (путь до старого например), и закрыть старый

Новый лоадер откроется, и по параметру запуска удалит старый.

Все знания что тебе пригодятся здесь:
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.

enjoy :CoolCat:
Слишком трудно для пасты)
 
Назад
Сверху Снизу