Из-за блокировок обновления FAR2.0 осуществляю с помощью FAR1.75, так как интерфейс фара мне более удобен, чем гуй интерфейс проводника и архиваторов. Поэтому предлагаю обсудить-засудить идею реализации самодостаточности FAR при обновлении самого себя и своих плагинов. Имхо обновление FAR при помощи других менеджеров идеологически неверно и неудобно.
Обновление FAR.exe и плагинов:
1. При возникновении ошибки блокировки файла от перезаписи проверяем целевой путь, если он содержит подстроку пути процесса FAR, вызвавшего эту ошибку
a) + "\FAR.exe", то сохраняем файл под именем FAR.fud.
b) + "\Plugins", то сохраняем файл под именем old_name.pud. Сохраняем рядом с FAR.exe файл-флаг обновления плагинов FAR.pud.
2. Запускаем update.exe из папки фара.
3. update.exe посылает сигнал закрытия процессу FAR.exe, и контролирует его завершение. После того, как процесс FAR.exe завершён, update.exe переименовывает файл FAR.fud в FAR.exe, а при наличии FAR.pud, и old_name.pud в old_name в папках плагинов. update.exe запускает FAR.exe и убедившись, что процесс FAR.exe создан, самозавершается.
Обход блокировки файлов при обновлении FAR и его плагинов
-
- Posts: 3651
- Joined: Wed 23 Nov, 2005 11:11
- Location: Москва-Питер
- Has thanked: 2 times
- Been thanked: 19 times
Re: Самодостаточный механизм обновления FAR и его плагинов
А я всегда запускаю FAR через батник. Ничего вышеописанное работать не будет...
Re: Обход блокировки файлов при обновлении FAR и его плагино
Изменил название темы, чтобы не возникало ассоциаций с обновлением или автообновлением по примеру GUI приложений. Обновление FAR осуществляется вручную путём копирования нужных файлов из архивов, скачанных с инета с помощью браузера.
- Centaur
- Posts: 1083
- Joined: Tue 05 Apr, 2005 20:09
- Location: Novosibirsk, Russia
- Been thanked: 2 times
Re: Обход блокировки файлов при обновлении FAR и его плагино
Блокировка отлично обходится переименованием заблокированных файлов.
Re: Обход блокировки файлов при обновлении FAR и его плагино
Не плохо бы докинуть фару интеллекта, применительно к данной ситуации.
Re: Обход блокировки файлов при обновлении FAR и его плагино
Ок, тогда как намакросить на F5 переименование уже существующего файла при копировании нового в случае блокировки, если исходный путь начинается с пути в папку процесса, выполняющего (инициирующего) копирование (FAR)?