# Эталонный реестр плагинов

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

<span class="p1 pcustom">Для каждой поддерживаемой версии Целевой программы используется отдельный файл-реестр плагинов, предназначенный для централизованного распространения через Менеджер плагинов.</span>

<span class="p1 pcustom">Файл располагается по следующему пути:</span>

<p class="callout info"><span class="p1 pcustom">Z:\\BIM\\7. Дополения\\1. Внутренние\\3. Данные\\**{ЦЕЛЕВАЯ ПРОГРАММА}**\_**{ВЕРСИЯ}**.dat</span></p>

<span class="p1 pcustom">Данный файл является единственным источником истины для Менеджера плагинов при определении:</span>

- <span class="p1 pcustom">какие плагины должны быть установлены пользователю;</span>
- <span class="p1 pcustom">какие версии плагинов являются актуальными;</span>
- <span class="p1 pcustom">откуда загружать .addin и конфигурационные файлы;</span>
- <span class="p1 pcustom">для каких ролей пользователей доступны конкретные плагины.</span>

### Структура файла

<span class="p1 pcustom">Корневым элементом является коллекция:</span>

<p class="callout info"><span class="p1 pcustom">&lt;ArrayOfAddinInfo&gt;</span></p>

<span class="p1 pcustom">Каждый отдельный плагин описывается элементом:</span>

<p class="callout info"><span class="p1 pcustom">&lt;AddinInfo&gt;</span></p>

<span class="p1 pcustom">Каждый элемент **&lt;AddinInfo&gt;** описывает один плагин и содержит в себе следующие поля:</span>

- <span class="p1 pcustom">**&lt;Name&gt;** - Уникальный идентификатор плагина, который соответствует наименованию Проекта плагина.</span>
- <span class="p1 pcustom">**&lt;Version&gt;** - Версия плагина, которая и<span style="font-style: inherit;">спользуется для определения необходимости обновления. </span>Формат версии — ВЕРСИЯ ЦЕЛЕВОЙ ПРОГРАММЫ.МАЖОР.МИНОР.ПАТЧ, например, 2019.10.2.43.  
    **МАЖОР** - Увеличивается при внесении изменений, нарушающих обратную совместимость. При изменении обнуляется МИНОН и ПАТЧ.  
    **МИНОР** - Увеличивается, если добавлен новый функционал, но без нарушения обратной совместимости. При изменении обнуляется ПАТЧ.  
    **ПАТЧ** - Увеличивается при исправлении ошибок, без изменения функционала приложения.</span>
- <span class="p1 pcustom">**&lt;Path&gt;** - Полный сетевой путь к .addin файлу плагина. Данное поле может отсутствовать для пакетов Dynamo и других компонентов, которые не используют .addin файлы.</span>
- <span class="p1 pcustom">**&lt;ConfigurationFilePath&gt;** - Путь к конфигурационному файлу плагина (.fst).</span>
- <span class="p1 pcustom">**&lt;ValidUserType&gt;** - Тип пользователя (роль), для которого доступен плагин.</span>

<span class="p1 pcustom">Пример файла:</span>

<p class="callout info"><span class="p1 pcustom">&lt;?xml version="1.0" encoding="utf-8"?&gt;</span>  
<span class="p1 pcustom" style="font-family: Roboto; font-size: 16px; font-style: normal;">&lt;ArrayOfAddinInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;  
 &lt;AddinInfo&gt;  
 &lt;Name&gt;CollisionGrouper&lt;/Name&gt;  
 &lt;Version&gt;2019.0.0.31&lt;/Version&gt;  
 &lt;Path&gt;**{ПУТЬ ДО ADDIN ФАЙЛА}**&lt;/Path&gt;  
 &lt;ConfigurationFilePath&gt;**{ПУТЬ ДО FST ФАЙЛА}**&lt;/ConfigurationFilePath&gt;  
 &lt;ValidUserType&gt;AllUsers&lt;/ValidUserType&gt;  
 &lt;/AddinInfo&gt;  
&lt;/ArrayOfAddinInfo&gt;</span></p>

### Правила работы с файлом

- <span class="p1 pcustom">Любое обновление плагина требует обновления версии.</span>
- <span class="p1 pcustom">Изменение сетевой структуры без обновления файла приведёт к неработоспособности Менеджера плагинов.</span>
- <span class="p1 pcustom">Для исключения плагина из распространения достаточно удалить соответствующий **&lt;AddinInfo&gt;** из файла.</span>
- <span class="p1 pcustom">Файл должен оставаться корректным XML-документом. Любая ошибка структуры приводит к невозможности загрузки списка плагинов.</span>
- <span class="p1 pcustom">Перед сохранением файла необходимо проверять XML на корректность с помощью Notepad++ плагина XML Tools функцией **Check XML syntax now**.</span>  
    [![image.png](https://wiki.marksdigital.ru/uploads/images/gallery/2026-01/scaled-1680-/image.png)](https://wiki.marksdigital.ru/uploads/images/gallery/2026-01/image.png)