Russian Qt Forum

Qt => Общие вопросы => Тема начата: onlik от Февраль 21, 2010, 18:18



Название: Обновление приложения
Отправлено: onlik от Февраль 21, 2010, 18:18
Необходимо написать автоматическое обновление приложения.
С получениемм новых файлов все понятно, а как заменить потом старое приложение новым?
Нужно писать отдельную программу и вызывать ее, что бы она заменила старые файлы новыми? Или можно как-то сделать по-хитрому?


Название: Re: Обновление приложения
Отправлено: BRE от Февраль 21, 2010, 19:09
http://www.prog.org.ru/topic_6950_0.html
http://www.forum.crossplatform.ru/index.php?showtopic=4168&st=0


Название: Re: Обновление приложения
Отправлено: onlik от Февраль 21, 2010, 19:29
Спасибо большое, почему-то не получилось найти ничего хорошего.
Буду разбираться.


Название: Re: Обновление приложения
Отправлено: ptica от Февраль 23, 2010, 10:14
Если уже дело дошло до установки и обновления =) то могу посоветовать переложить это все на инсталлятор  в своем проекте использовал инсталлятор NSIS и там есть куча плагинов для всех нужд.
Я сделал так написал инсталятор + програмку (на скриптах NSIS) которая определяет какая версия сейчас проинсталирована на машине пользователя и опрашивает мой сайт какая сейчас версия на сайте и если несовпадение то выкачивает новый билд и инсталит его. Делал в лоб - сносится старая версия и инсталируется новая версия (если программа в этот момент запущена то инсталятор убивает ее) - этот скрипт занял около 50 строчек кода. Сам скрипт апдейтера (скомпиленный в exe) вызывается при старте моей основной программой.
по теме NSIS
Сам сайт NSIS http://nsis.sourceforge.net/Main_Page
тема на форуме со скриптом авто апдейта http://forumnsis.mybb2.ru/viewtopic.php?t=46&postdays=0&postorder=asc&start=0
правда один недостаток - NSIS делает инсталы только под windows


Название: Re: Обновление приложения
Отправлено: crossly от Февраль 23, 2010, 12:55
в linux вполне можно заменить файл и при запущенном приложении.... в вин сложнее .... я бы предложил использовать программу-загрузчик... которая будет запускаться проверять и устанавливать обновление и затем запускать основное приложение...