![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как заменить 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 а новый сохраняй с нужным именем.