Victor_VG
Tracker Mod | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору old1man Для установки достаточно просто запустить NSIS инсталлер который распакует копию в указанный нами каталог (по умолчанию рядом с собой), а после создать в ней новый профиль в подкаталоге ./DATA, или можно потереть начинку имеющейся .PAF копии в ./APP и только его переписать в неё - всё остальное менять не требуется. Что касается формата БД, то тут лучше использовать традиционный формат UNIX Post Box - один монолитный файл - с ним как-то проблем меньше ибо его все программы знают и часто достаточно просто его скопировать в их каталог. А вот .maf файлы (индексы) возможно и стоит потереть - птичка их сама пересоздаст, а ошибка может в них сидеть. В принципе пути к профилю у всех приложений на движке Gecko (Mozilla Suite -> SeaMonkey (браузер + чат + веб редактор + почта и новости в одном комплексе - родоначальник всей прочей публики, основан на исходниках Netscape Navigator), FireFox (вырезанный из SeaMonkey и урезанный до предела браузер), NVU и KompoZer (веб редакторы, KompZer полный аналог встроенного в SeaMonkey, NVU самостоятельный и расширенный WISIWIG проект умеет много больше чем KompoZer), Thunderbird (почта и новости), SunBird (календарь, сто лет в стадии беты, но работает ) строятся по похожему принципу - приложение при запуске читает свои базовые настройки где указан путь к его локальному конфигу в котором и сидит указатель на каталог профиля. Вроде сложно, зато надёжно и позволяет собирать приложения для разных платформ - UNIX, LINUX, Windows, OS/2 с применением минимальных правок к общим исходниками (обычно в мэйке стоит команда patch ... и утилита применяет нужный в данном случае патч к исходникам, после чего собирается бинарник) - эти приложения не привязаны к архитектуре одной ОС, а потому используют универсальный способ поиска профиля через свои конфиги. Andrey_Verkhoglyadov Сама СУБД SQLite идёт в исходниках (www.sqlite.org), но можно обновить основной источник ошибок в .PAF переписав его в ./APP/bin/sqlite3.exe что я и делаю. Относительно портабельности - сначала стоит в доки и офсайт глянуть - там может быть информация, и для многих программ признаком может служить факт хранения настроек в INI/XML/CFG//БД SQLite, в файлах *conf (обычно хранятся в подкаталоге ./etc/ приложения). Если этого нет и программа хранит настройки в Реестре, то тут надо свой модуль запуска писать который сначала если они есть сохранит существующие, после запишет новые, запустит программу, дождётся её завершения и восстановит сохранённые настройки. Я так делал для Far Manager SE2/PE2 - NSIS программа launcher.exe выполняла все нужные операции и заодно запускала принципиально не портабельный тогда Far как новую задачу, что позволяло его тестировать, но полностью задачу исключения конфликта настроек не решало - это уже область работы виртуализаторов типа Cameyo/ThwinApps. А к примеру для Far v3.0 launcher.exe стал просто не нужен - Far 3.0 хранит настройки в БД SQLite и пути к ним указаны в Far.exe.ini считываемом при запуске Far.exe, так что для его запуска из консоли (к примеру из констроки запущенной копии Far-а) как новой задачи хватает пары простых батников и утилиты hidcon-*.exe скрывающей запуск второго батника - в первом стоит просто команда @start /i ./far/rfar.cmd (@ нужна для предотвращения временного гашения панелей при запуске - см. справку far), а из оболочки ОС и они не требуются. Аналогично и для тех же FileZilla Client/Process Hacker/Dexpot/SumatraPDF - им хватает только конфига с указанным в документации именем рядом с запускаемым файлом приложения, а всякие PAF и прочие виртуалки для них штука лишняя - эти программы портабельны на уровне "из коробки", навеска уже перебор.
---------- Жив курилка! (Р. Ролан, "Кола Брюньон") Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti |
| Всего записей: 34374 | Зарегистр. 31-07-2002 | Отправлено: 08:58 20-06-2015 | Исправлено: Victor_VG, 09:32 20-06-2015 |
|