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

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

Как заменить EXE-файл во время выполнения?


Ev1972 ©   (2004-08-30 11:09:00) 

Неужели нет способа "обмануть" Windows и перезаписать Exe-файл запущенного приложения (например, для обновления его версии)?


enel   (2004-08-31 01:14:00) [1]

Ехе-файл перезаписать во время его выполнения НЕЛЬЗЯ, можно апгрейдом: Делаешь вместо одного Ехе-файла два - один Dll (бывший ехе), второй Ехе (собственно загружает эту Dll в память и передает ей управление). В нем делаешь проверку на присутствие обновленного файла и, если существует, берешь и перезаписываешь главную Dll; после обычным образом передаешь ей упрваление. Внимание: лучше еще создать Inf-файл, в котором после закрытия обновленной программы нужно записать подтверждение удачного апгрейда (дополнительная защита - если подтверждения не будет просто перезаписывай эту Dll назад, к первоначальному состоянию,
предванительно сделав ее копию).


Dimaxx   (2004-08-30 23:52:00) [2]

Перезаписать запущенное приложение под Виндой нельзя, равно как и переименовать. Можно тока покрутить ресурсы в сторону обновления.


clickmaker   (2004-08-30 12:24:00) [3]


> [5] IXT   (30.08.04 11:57)
> Так не делают Update!!!

а как делают?


IXT   (2004-08-30 11:57:00) [4]

Так не делаютUpdate!!! Будут глюки, да и только!


clickmaker   (2004-08-30 11:47:00) [5]


> [3] Ev1972   (30.08.04 11:44)
> Мне нужно, чтобы обновления начали работать только при последующем
> запуске.

напиши что-то типа стартера. Он при запуске будет проверять, есть ли свежая версия, заменит экзешник и запустит


Ev1972   (2004-08-30 11:44:00) [6]

Мне нужно, чтобы обновления начали работать только при последующем запуске.
Почему-то переименование в *.bak работает в Win2000 и не работает в Win95 :(


clickmaker   (2004-08-30 11:41:00) [7]

другим экзешником или батником, но без перезапуска основного, если хочешь, чтоб обновления начали работать, не обойтись


ORMADA   (2004-08-30 11:15:00) [8]

лехко! :) переименуй его в какой-нить bak а новый сохраняй с нужным именем.


Наверх

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