![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Автоматическое обновление программы через интернет... [D7, WinXP]
Jolik © (2006-04-12 16:49:00)Появилась такая задача - обновлять прогу через интернет. Проблема усугубляется тем, что заменяемы модули и библиотеки в этот момент могут быть загружены (программа то обновляет сама себя) - т.е. должна быть некая логика их замены. Плюс неплохо бы дать возможность пользователю выполнять откат. Т.о. задача становиться нетривиальной :(
Занимался ли кто такими вещами? Может есть готовые решения? Или каждый решает это для себя по своему?
Yegorchic (2006-04-13 23:48:00) [1]Ну вообще-то да...
Rouse_ (2006-04-13 20:43:00) [2]Удалено модератором
Примечание: Дубль
Rouse_ (2006-04-13 20:42:00) [3]данные сохранить в промежуточном файле, закрыться, обновиться запуститься, загрузить данные взад :)
не вижу проблемы...
Yegorchic (2006-04-13 20:07:00) [4]Нет, я про обновляемую программу и имел ввиду, конечно :)
А какже тогда [3]?
Rouse_ (2006-04-13 18:28:00) [5]Та которая отвечает за обновление? Нет естетвенно, будет вырубаться обновляемая программа...
Yegorchic (2006-04-13 16:02:00) [6]
> Тушит активный экземпляр (к примеру я обычно посылаю нотификацию
> через HWND_BROADCAST + RegisterWindowMessage с каким нибуть
> параметром для ответной нотификации, по получении которой
> программа сама завершается).
Т.е. программа выключаться не будет что-ли?
Eraser (2006-04-13 14:32:00) [7]
> Slym © (13.04.06 09:51) [2]
а если программа уже запущена и не отключается сутками? :)
Slym (2006-04-13 09:51:00) [8]Делается по другому...
1. Качается обновление в отдельную папку...
2. Приложение запускается не само а через лоанчер
3. лоанчер проверяет папку с обновлениями и обновляет бекапит и прочее
4. потом запускает саму прогу..
Rouse_ (2006-04-12 19:14:00) [9]Делаетя все просто.
отдельное приложение лезет в инет и делает запрос о текущих версиях программы. Если какая-то обновилась - заливает ее на компьютер. Тушит активный экземпляр (к примеру я обычно посылаю нотификацию через HWND_BROADCAST + RegisterWindowMessage с каким нибуть параметром для ответной нотификации, по получении которой программа сама завершается).
текущий экземпляр программы ложиться в бэкап папку, вместо него ложиться скачаный экземпляр и приложение стартует заново...