Локальный реестр плагинов
Общая информация
Для каждой установленной у пользователя Целевой программы AddinManager ведёт локальный файл реестр плагинов, содержащий информацию о фактически установленных плагинах и их версиях на данном рабочем месте. По своей структуре и формату данный файл аналогичен файлу эталонного реестра плагинов. Локальные реестры расположены по пути:
%AppData%\MarksDigital\AddinManager\Settings
Обновление и сопровождение локального файла
При запуске Целевой программы через AddinManager выполняется следующий алгоритм:
- Загружается эталонный реестр Целевой программы.
- Загружается локальный реестр Целевой программы.
- Для каждого плагина из эталонного файла выполняется проверка:
-
Плагин отсутствует в локальном файле - Плагин считается неустановленным и помечается к установке.
- Плагин присутствует в локальном файле, но версия ниже эталонной - Плагин помечается к обновлению.
- Версия плагина совпадает с эталонной - Действия не требуются.
-
-
Для всех плагинов, помеченных к установке или обновлению, AddinManager выполняет проверку доступности файлов. проверяется, не заблокированы ли файлы плагина процессом Целевой программы.
-
В зависимости от результата проверки:
-
Файлы плагина не заняты процессом Целевой программы - обновление плагина в соответствии с .fst файлом;
-
Файлы плагина заняты процессом Целевой программы - обновление плагина откладывается до освобождения файлов.
-
-
После успешной установки или обновления:
-
локальный файл конфигурации пользователя обновляется;
-
в нём фиксируется актуальная версия плагина;
-
состояние плагина считается синхронизированным с эталоном.
-
Сброс плагинов
AddinManager предоставляет функцию «Сброс плагинов», предназначенную для принудительного удаления локальных реестров плагинов. При выполнении функции:
-
удаляются локальные реестры плагинов всех Целевых программ;
-
информация о версиях плагинов, установленных у пользователя, полностью сбрасывается;
-
физические файлы плагинов не удаляются.
После сброса, при следующем запуске соответствующей Целевой программы:
-
AddinManager не обнаруживает локальный реестр плагинов Целевой программы;
-
считает все плагины неустановленными;
-
выполняет установку плагинов в соответствии с эталонным реестром плагинов.
Нет комментариев