Перейти к основному контенту

Локальный реестр плагинов

Общая информация

Для каждой установленной у пользователя Целевой программы AddinManager ведёт локальный файл реестр плагинов, содержащий информацию о фактически установленных плагинах и их версиях на данном рабочем месте. По своей структуре и формату данный файл аналогичен файлу эталонного реестра плагинов. Локальные реестры расположены по пути:

%AppData%\MarksDigital\AddinManager\Settings

Обновление и сопровождение локального файла

При запуске Целевой программы через AddinManager выполняется следующий алгоритм:

  1. Загружается эталонный реестр Целевой программы.
  2. Загружается локальный реестр Целевой программы.
  3. Для каждого плагина из эталонного файла выполняется проверка:
    • Плагин отсутствует в локальном файле - Плагин считается неустановленным и помечается к установке.

    • Плагин присутствует в локальном файле, но версия ниже эталонной - Плагин помечается к обновлению.
    • Версия плагина совпадает с эталонной - Действия не требуются.
  4. Для всех плагинов, помеченных к установке или обновлению, AddinManager выполняет проверку доступности файлов. проверяется, не заблокированы ли файлы плагина процессом Целевой программы.

  5. В зависимости от результата проверки:

    • Файлы плагина не заняты процессом Целевой программы - обновление плагина в соответствии с .fst файлом;

    • Файлы плагина заняты процессом Целевой программы -  обновление плагина откладывается до освобождения файлов.

  6. После успешной установки или обновления:

    • локальный файл конфигурации пользователя обновляется;

    • в нём фиксируется актуальная версия плагина;

    • состояние плагина считается синхронизированным с эталоном.

Сброс плагинов

AddinManager предоставляет функцию «Сброс плагинов», предназначенную для принудительного удаления локальных реестров плагинов. При выполнении функции:

  • удаляются локальные реестры плагинов всех Целевых программ;

  • информация о версиях плагинов, установленных у пользователя, полностью сбрасывается;

  • физические файлы плагинов не удаляются.

После сброса, при следующем запуске соответствующей Целевой программы:

  • AddinManager не обнаруживает локальный реестр плагинов Целевой программы;

  • считает все плагины неустановленными;

  • выполняет установку плагинов в соответствии с эталонным реестром плагинов.