![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Копирование файла [D7, XP]
к2в2 © (2007-07-10 15:18:00)Доброго дня. Подскажите как из запуженого приложения заменить исполняемый файл.
Пишу небольшую обновлялку для своей проги... юзер запустив у себя прогу видит сообщение что программа обновилась, наживает кнопку ОК и програ обновляется. Загвоздка только что бы скопировать новый файл по сети и заменить существующый... Научите заменять файл (например Тест.ехе)файлом с таким же названием, но с учетом того что юзер запускает у себя файл с названием Тест.ехе(собственно это и есть моя прога)
Rip_1982 (2007-07-11 18:17:00) [1]Создай bat файл (например update.bat) примерно такого содержания:
:try
del "Test.exe"
if exist "apppath\test.exe" goto try
copy "update\test.exe" "apppath\test.exe"
del "update.bat"
и запусти его в скрытом режиме. Когда прога будет закрыта он удалит старый ехешник, скопирует новый и удалит сам себя. Для корректности можеш сначала прреименовать старый, скопировать новый и удалить переименованный. Ну и можешь добавить запуск нового ехешника.
Сергей М. (2007-07-10 15:30:00) [2]
> разве можно переименовать файл который в данный момент выполняется?
Многие ОС такие "выкрутасы" позволяют.
к2в2 (2007-07-10 15:28:00) [3]А разве можно переименовать файл который в данный момент выполняется? о_0 По моему эффект тот же самый что и при копировании будет
Плохиш (2007-07-10 15:21:00) [4]1. Переименовываешь исполняемый файл
2. Копируешь новый
3. Завершаешь программу
4. При новом запуске стираешь старый переименованый файл.