У меня есть программа для Windows, которая должна автоматически обновляться с сервера.
Он уже может передавать файлы с сервера и обновлять + проверять такие вещи, как файлы плагинов DLL, перед их загрузкой.
Однако, эта программа также нуждается в обновлении. Вероятно, есть несколько разных способов сделать это, и самый очевидный из тех, что я видел у разных клиентов онлайн-игр, - это создание «автоматического патчера», который загружает и запускает исполняемый файл клиента. Это порождает проблему необходимости обновлять автопатчер, поэтому, если есть более элегантное решение, я бы хотел услышать об этом.
Я должен представить, что есть способ загрузить новый исполняемый файл в качестве временного файла, скажем, «client.exe.tmp», а затем запустить отдельный процесс, ожидающий выхода оригинального client.exe. а затем переименовывает / копирует новый файл поверх него.
Кто-нибудь делал подобные вещи раньше успешно, и какой метод вы использовали, чтобы заставить его работать?