> For the complete documentation index, see [llms.txt](https://mp4.gitbook.io/standard/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mp4.gitbook.io/standard/knowledge/bim/dev/razrabotka-plaginov/razvertyvanie.md).

# Развертывание

### Установка загрузчика плагинов

Установка загрузчика плагинов осуществляется по [инструкции](/standard/knowledge/plugins/process/ustanovka-korporativnykh-plaginov.md) и представляет из себя размещение в указанных папках пользователей вкладки загрузчика плагинов:

* **RevitAddinLoader.dll**&#x20;
  * %AppData%\Autodesk\Revit\Addins\2023\BIM\_Loader
  * %AppData%\Autodesk\Revit\Addins\2021\BIM\_Loader
* **RevitAddinLoader.addin**
  * %AppData%\Autodesk\Revit\Addins\2023
  * %AppData%\Autodesk\Revit\Addins\2021

{% hint style="success" %}
Для обновления загрузчика плагинов необходим повторный запуск установщика корпоративных плагинов.
{% endhint %}

### Загрузчик плагинов

Загрузчик плагинов (RevitAddinLoader) выполняет следующие действия **при запуске** приложения Revit (метод "OnStartup"):

* совершает запрос к [базе данных BIM](/standard/knowledge/bim/dev/baza-dannykh-bim.md) и на основании полученных данных определяет:
  * наличие пользователя в базе данных (по имени учетной записи);
  * раздел пользователя и необходимые доступы (управление через БД).
* Переносит все необходимые dll плагинов и addin из папок M:\BIM\05\_Плагины\BIM\_Loader в папку пользователя %AppData%\Autodesk\Revit\Addins\2023\BIM\_Loader

Загрузчик плагинов выполняет удаление всех добавленных при открытии приложения Revit плагинов при закрытии приложения (метод "OnShutdown").

Загрузчик плагинов формирует следующие вкладки:&#x20;

* [BIM Общее](/standard/knowledge/plugins/2.2-korporativnye-plaginy/shared.md);
* [BIM Архитектура](/standard/knowledge/plugins/2.2-korporativnye-plaginy/ar.md);
* [BIM ИОС](/standard/knowledge/plugins/2.2-korporativnye-plaginy/mep.md);
* [BIM](/standard/knowledge/plugins/2.2-korporativnye-plaginy/bim.md);
* [BackgroundProcess](#vkladka-backgroundprocess)

{% hint style="success" %}
Таким образом для обновления плагина или вкладки необходимо:

1. Разместить обновленные решения (dll) в соответствующих папке:
   1. M:\BIM\05\_Плагины\BIM\_Loader\Tabs\\<Имя вкладки>\Data при обновлении вкладки
   2. M:\BIM\05\_Плагины\BIM\_Loader\Tabs\\<Имя вкладки>\Plugins\\<Имя решения> при обновлении плагина
2. Полностью перезагрузить приложение Revit (закрыть все сеансы Revit и открыть повторно).
   {% endhint %}

### Вкладка BackgroundProcess

Скрытая вкладка, которая работает у всех пользователей, созданная для выполнения следующих задач:

1. Перенос вспомогательных библиотек плагинов из папки M:\BIM\05\_Плагины\BIM\_Loader\Libraries\\<Имя папки библиотеки> в папки пользователя %AppData%\Autodesk\Revit\Addins\2023\BIM\_Loader\Utils\\<Имя папки библиотеки> и добавляет dll библиотек в сборку (Assembly).

{% hint style="info" %}
Данная функция позволяет контролировать и управлять переносом библиотек без переустановки загрузчика плагинов (RevitAddinLoader).
{% endhint %}

2. Реализует сбор логов с помощью библиотеки LogUtils, а именно о событиях:
   1. ControlledApplication.DocumentOpening - возникает при открытии документа;
   2. ControlledApplication.DocumentOpened - возникает, когда документ открыт;
   3. ControlledApplication.DocumentClosing - возникает при закрытии документа;
   4. DocumentSynchronizingWithCentral - возникает при синхронизации документа;
   5. DocumentSynchronizedWithCentral - возникает, когда документ синхронизирован;
3. Ввиду своей постоянной работы и наличия у всех пользователей позволяет реализовывать слушатели событий для работы других плагинов.
