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

Исключение плагина из распространения

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

Для управления выводом плагинов из использования применяется механизм исключения плагинов из распространения. Для каждой версии Целевого продукта создаётся отдельный файл исключений:

Z:\BIM\7. Дополения\1. Внутренние\3. Данные\{ЦЕЛЕВОЙ ПРОДУКТ}Invalid_{ВЕРСИЯ}.dat

Файл содержит перечень плагинов, которые не должны присутствовать у пользователей для данной версии Целевого продукта.

Файл Invalid

Файл представляет собой XML-документ со списком имён плагинов:

  • каждый элемент <InvalidAddin> содержит:

    • <Name> — уникальное имя плагина;

  • имя плагина должно совпадать:

    • с именем папки плагина;

    • и/или с именем .addin-манифеста.

Пример файла:

<?xml version="1.0" encoding="utf-8"?>
<ArrayOfInvalidAddin xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <InvalidAddin>
        <Name>{НАИМЕНОВАНИЕ ПЛАГИНА}</Name>
    </InvalidAddin>
</ArrayOfInvalidAddin>

Логика работы Менеджера плагинов

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

  1. Загружается Invalid файл Целевого продукта .

  2. Для каждого плагина из списка исключений:

    • проверяется наличие локальной папки плагина и/или .addin-манифеста с указанным именем;

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

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

    • файлы плагина не заняты процессом Целевого продукта - плагин удаляется локально у пользователя (папка и манифест);

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

Порядок действия для исключения плагина

Для полного вывода плагина из распространения необходимо:

  1. Добавить плагин в Invalid файл для версии Целевого продукта.

  2. Удалить плагин из эталонного реестра версии Целевого продукта.

Если удалить плагин из эталонного реестра, но не добавить его в Invalid файл, то уже установленный у пользователя плагин останется без изменений и продолжит работать, однако он больше не будет обновляться или переустанавливаться.

В противном случае, если плагин не внесён в Invalid, он будет повторно устанавливаться при последующих запусках.