Создание расширения для Консоли настройки

Исходный код SnapIn расположен в подкаталоге NetstatSolution.Snapin приложенного архива.

На данном этапе необходимо создать расширение для Консоли настройки (SnapIn), которое отвечает за загрузку CardPackage и SqlPackage в Docsvision, а также регистрирует пакет установки клиентской части.

SnapIn является обязательным компонентом, при условии, что решение использует собственную библиотеку карточек.

Как часть "Модуля учета сетевых устройств", данный компонент выполняет следующие задачи:
  • Устанавливает и удаляет библиотеку карточек Модуля учета сетевых устройств.

  • Импортирует в Docsvision бизнес-процесс Проверка доступности сетевых узлов, а также пример карточки Карточка учета сетевого оборудования, а также данные справочника видов карточек, конструктора разметок, конструктора состояний и конструктора ролей.

  • Регистрирует клиентский пакет установки.

  • Добавляет в Консоль настройки Docsvision форму для ввода конфигурационных параметров Модуля учета сетевых устройств.

Пример реализации простого SnapIn приведён в разделе Модуль расширения Консоли настройки

Компонент SnapIn представляет собой библиотеку DLL, в которой присутствует класс, реализующий интерфейс DocsVision.Tools.ServerConsole.ISnapIn (сборка DocsVision.Tools.ServerConsole.Interfaces.dll).

Также данный класс может реализовывать несколько дополнительных интерфейсов:
  • IDBInformation — является обязательным при создании решения, т.к. именно реализация данного интерфейса позволяет SnapIn предоставлять пути к CardPackage и SqlPackage.

  • IConfigurator — добавляет в SnapIn метод Execute, который запускается в режиме конфигурации модуля — вызывается командой ServerConsole.exe /c /n {ИМЯ_РЕШЕНИЯ}. Обычно данный метод отвечает за регистрацию пакетов установки клиентской части решения.

  • IUninstallSnapIn — добавляет метод Uninstall, который вызывается при удалении решения — вызывается командой ServerConsole.exe /rs /n ИМЯ_РЕШЕНИЯ.

Помимо выполнения сервисных функций, SnapIn может предоставлять пользовательский интерфейс для различных режимов работы Консоли настройки.

Если вы работаете с исходными кодами проекта, то SnapIn собирается третьим.