Исключение плагина из распространения
Общая информация
Для управления выводом плагинов из использования применяется механизм исключения плагинов из распространения. Для каждой версии Целевого продукта создаётся отдельный файл исключений:
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>
Логика работы Менеджера плагинов
При запуске Целевого продукта через Менеджер плагинов выполняется следующий алгоритм:
-
Загружается Invalid файл Целевого продукта .
-
Для каждого плагина из списка исключений:
-
проверяется наличие локальной папки плагина и/или .addin-манифеста с указанным именем;
-
выполняется проверка, не заняты ли файлы плагина процессом Целевого продукта.
-
-
В зависимости от результата проверки:
-
файлы плагина не заняты процессом Целевого продукта - плагин удаляется локально у пользователя (папка и манифест);
-
файлы плагина заняты процессом Целевого продукта - удаление плагина откладывается до освобождения файлов.
-
Порядок действия для исключения плагина
Для полного вывода плагина из распространения необходимо:
-
Добавить плагин в Invalid файл для версии Целевого продукта.
-
Удалить плагин из эталонного реестра версии Целевого продукта.
Если удалить плагин из эталонного реестра, но не добавить его в Invalid файл, то уже установленный у пользователя плагин останется без изменений и продолжит работать, однако он больше не будет обновляться или переустанавливаться.
В противном случае, если плагин не внесён в Invalid, он будет повторно устанавливаться при последующих запусках.
Нет комментариев