Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Обновление программы, вызываемое из неё самой ... [D5, Win95/98, WinME]


Quest ©   (2002-01-30 12:05:00) 

Ситуацияследующая, существует программа запускающаяся при запуске Windows (HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\...) и после выполнения своей задачи, мирно закрывающаяся ... так вот задачав том, чтобы перед или после выполнения своей задачи - программа проверила на удалённом ресурсе существование более свежей версии данной программы и если таковая существует - выполнить замещение (перезапись) её локального варианта ...
Как пример можно использовать DRWEB , то есть использование отдельной програмки Upgrade.exe которая и будет проверять и переписывать файл основной программы, но как результат, необходимо отслеживать закрытие основной программы и т.д. ...
ВОПРОС:но нельзя ли это сделать другим способом ?
Есть идеи?


pasha_golub   (2002-01-31 11:34:00) [1]

Можно и менять, но только бы не запутаться.


ValeraVV   (2002-01-31 11:08:00) [2]

Оформи весь код в DLL, оставив в EXE только загрузчик и обновлялку и распространяй DLL


Quest   (2002-01-31 08:55:00) [3]

Не слишком ли усложнённое решение? ... выходит upgrade.exe - должен каждый раз запускаться и ждать когда завершиться prog.exe ? .... а как же происходит обновление DrWEB, при запущенной программе?


vlv   (2002-01-30 15:51:00) [4]

Можно использовать сообщения.
Пишешь 2 проги:
prog.exe и upgrade.exe.

prog.exe запускает upgrade.exe когда ей захочется.

upgrade.exe смотрит твой ресурс. При нахождении чего-то шлет мессагу: SendMessage(handle_PROGEXE, WM_ЗАКРОЙСЯ,0,0) и ждет зыкрытия prog.exe(опрашивая процессы). Затем тупо грузит обновление.


Quest   (2002-01-30 12:20:00) [5]

то есть менять имя программы от версии к версии (апргрейд может быть ежедневным) Например: prog1.exe -> prog2.exe -> prog1.exe -> prog2.exe -> prog1.exe -> ... ? ты это имел ввиду?


pasha_golub   (2002-01-30 12:14:00) [6]

Если есть новая версия, то скачать ее, прописать в реестре вместо старой, а новая программка должна обнаружить и удалить старую. Или быть может все серъезней?


Наверх

Титульная страница Поиск, карта сайта Написать письмо