Примерная схема такова - написать отдельно от клиентской программы второй небольшой EXE-шник для обновления, схема его работы такова:
1) Проверка версий/дат изменений всех критичных к обновлениям файлов у клиента;
2) Отправка этих данных на сервер;
3) Прием файлов, требующих обновления;
4) Запуск непосредственно клиентской программы.
Сервер, видя, что к нему пришел клиент и просит проверить необходимость обновления, смотрит на принятые данные, содержащие версии, даты изменения файлов и т.д. В ответ посылает список файлов, требующих обновления, и затем все эти файлы по очереди по любому протоколу (желательно разграничить каналы для работы других клиентов, и для обновлений - иначе чье-то здоровенное обновление, качаемое GPRS'ом, завесит работу других пользователей).
Для упрощения работы сервера желательно всегда держать в определенном каталоге полную версию клиента последней версии, с которой он будет сверяться и раздавать необходимые файлы подключающимся.
Если к "загрузчику" приделать какую-нибудь заставку и прогрессбар для закачки обновлений - все будет выглядеть очень профессионально и шикарно.
|