Вниз
Скачать: CL | DM;

Как подменить exe-шник из него самого?   Найти похожие ветки 

 
Сержик ©   (2002-01-18 09:48) [0]

Есть прога, которая должна сама себя обновлять. (Запустил её, кнопочку нажал, она: "вставьте дискету", на диске новая версия этой же проги, которая должна заменить старую.)
Как сделать, чтобы юзер сам файлы не гонял?


 
Digitman ©   (2002-01-18 09:59) [1]

1. Используй одноэкземплярное приложение.
2. Данные, требующие модификации, храни в DLL, используемой только твоим приложением.
3. Для обновления DLL выгрузи ее из памяти и обнови файл библ-ки


 
Andrey ©   (2002-01-18 10:59) [2]

1. Копируеш приложение (*.EXE, *.DLL, etc) с дискеты во временный каталог.
2. Из своего приложения создаешь BAT-файл который должен выполнить удаление твоего приложения из основной директории как только его позволит удалить система, копирование из временной директории в основную директорию и запуск твоего приложения.
3. Запускаешь BAT-файл.
4. Завершаешь приложени (система отпускает все файлы твоего приложения) а дальше дело BAT-файла.

Вроде все.

P.S. Перед применением лучше хорошенько отладить (а то вдруг у кого-то батник на середине свалится, получится ни новой ни старой версии приложения у пользователя не останется).

P.P.S. Хотя лучше изначально использовать архитектуру приложения предложеную Digitman-ом.


 
Builder ©   (2002-01-18 13:12) [3]

2 Andrey © ? 2 All
По поводу пунка 2 - посмотрите в факе - там обсуждалась тема, как удалять свой же екзешник.


 
Andrey ©   (2002-01-18 13:22) [4]

> Builder
Сначала я хотел привести ссылку, но просто ненашел ее.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.007 c
3-8768
МАРАТ
2002-01-03 16:47
2002.02.04
Штрих кода


3-8750
Искатель
2002-01-03 01:06
2002.02.04
Как в DBGridEh запретить обход всех записей перед отображением данных


3-8761
Paolo_lis
2002-01-04 16:35
2002.02.04
Компоненета с инкриментальным посиком


7-9012
stasev
2001-10-17 22:24
2002.02.04
Delphi + Nokia


14-8999
zero
2001-12-12 18:04
2002.02.04
Merlin и модераторы отзовитесь, объясните что случилось




   Наверх