Вопрос Auto Updater Loader

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

Буду очень благодарен всем за помощь, Спасибо за внимание!
 
EVOLUTION ?
Забаненный
Статус
Оффлайн
Регистрация
30 Июл 2019
Сообщения
1,162
Реакции[?]
269
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Всем привет, ребята помогите пожалуйста, Как сделать авто обновление лоадера?
Есть примеры какие нибудь? Может код, хотя бы часть, я буду рад всему что сможете подсказать, суть вопроса:
Нужно сделать автообновление лоадера, допустим есть старый лоадер, но версия не та, я запускаю новое приложение и оно удаляет старый лоадер, скачивает на его место новый, как мне это написать?

Буду очень благодарен всем за помощь, Спасибо за внимание!
проверку на версию, если не совпадает, то начинается скачивание нового лоудера. после скачивания нужно старый закрыть и удалить и запустить новый(можешь создать cmd и через него сделать удаление и запуск)
 
Начинающий
Статус
Оффлайн
Регистрация
22 Дек 2018
Сообщения
360
Реакции[?]
21
Поинты[?]
0
проверку на версию, если не совпадает, то начинается скачивание нового лоудера. после скачивания нужно старый закрыть и удалить и запустить новый(можешь создать cmd и через него сделать удаление и запуск)
а у тебя есть хотя бы часть кода?
достаточно скачку и проверку запущено ли
 
Олдфаг
Статус
Оффлайн
Регистрация
18 Фев 2019
Сообщения
2,826
Реакции[?]
1,853
Поинты[?]
24K
достаточно скачку
C++:
#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);
    }
проверку запущено ли
Насчет этого немного не понял вопроса
 
Начинающий
Статус
Оффлайн
Регистрация
22 Дек 2018
Сообщения
360
Реакции[?]
21
Поинты[?]
0
C++:
#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 у меня он закрылся, и вместо старого лоадера скачался на его место новый, уже обновлённый

всё что я написал только без проверку запущено ли , просто скачку нового на место старого,Пожалуйста)
 
EVOLUTION ?
Забаненный
Статус
Оффлайн
Регистрация
30 Июл 2019
Сообщения
1,162
Реакции[?]
269
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Насчет этого немного не понял вопроса
P.S. Ну смотри, допустим я открыл Лоадер, а мне в нём пишет у вас старая версия, обновите его до новой, после этого лоадер сам закрывается, и теперь нужен код такого:
После того как я запустил updater'r у меня он закрылся, и вместо старого лоадера скачался на его место новый, уже обновлённый

всё что я написал только без проверку запущено ли , просто скачку нового на место старого,Пожалуйста)
auto version = "0.7";
if(version != get_version())
{
... скачивание лоудера и т.д.
}
 
Начинающий
Статус
Оффлайн
Регистрация
22 Дек 2018
Сообщения
360
Реакции[?]
21
Поинты[?]
0
Короче что бы было проще, мне нужен код который обновляет мой лоадер с сайта, и перезаписывает старый
 
Начинающий
Статус
Оффлайн
Регистрация
9 Дек 2017
Сообщения
79
Реакции[?]
15
Поинты[?]
0
Если хочешь максимально эффективное автообновление своего приложения.

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

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

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

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

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

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

enjoy :CoolCat:
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
22 Сен 2019
Сообщения
48
Реакции[?]
7
Поинты[?]
0
Если хочешь максимально эффективное автообновление своего приложения.

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

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

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

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

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

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

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