Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];




Вниз

Как подменить 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
Сначала я хотел привести ссылку, но просто ненашел ее.




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.047 c
4-9040            GoldenFox             2001-12-06 16:06  2002.02.04  
Надо убрать иконку из Таскбара в WinNT,


1-8825            Yuraz                 2002-01-19 16:53  2002.02.04  
Вопрос не столько по графике, сколько об написании кода


1-8810            Анатолий              2002-01-18 03:49  2002.02.04  
SaveDialog


1-8806            f0rm                  2002-01-15 12:32  2002.02.04  
Перевод юниксовского времени в нормальное виндовое


1-8942            Serghei               2002-01-18 10:02  2002.02.04  
Volume Serial Number для дискеты???