То есть в настройках учетной записи, например, пусть будет список имеющихся на сервере внешних модулей, в котором будет возможность выставлять флажки “Запретить” или “Разрешить”. При этом, если использование модуля запрещено, нужно, чтобы на клиенте, запрещенный модуль не запускался(не запускался метод Lers.Plugins.IPlugin.Initialize()), то есть не было в списке “Действия” и “Сервис”.
Имеются разные типы модулей, например: для администраторов системы, для опроса и импорта показаний, для просмотра и экспорта данных из ЛЭРС УЧЕТ и т.п. Например, модули администраторов должны быть доступны только учетным записям админов. Другие учетные записи не должны знать об их существовании на своих клиентах.
Запретить запуск модулей, которых нет на сервере. Если конкретный пользователь желает добавить некий модуль, то администраторам нужно будет добавить модуль на сервер и открыть доступ только для этого пользователя.
Сейчас при удалении модуля с сервера в пункте меню “Администрирование->Внешние модули”, модуль в папке на локальных компьютерах у пользователей все равно остается. Желательно, чтобы запрещенные модули удалялись при входе в ЛЭРС УЧЕТ, и скачивались только те, доступ к которым открыт. Однако, тут при “Обновлении ЛЭРС УЧЕТ” потребуется лишнее знание учетной записи.
Наверное, не стоит этого делать, поскольку за компьютером пользователя вполне может залогиниться администратор. В таком случае ему бы хотелось, чтобы его модули присутствовали в системе.
Думаю, что модули должны в любом случае скачиваться, но инициализация должна выполняться только в случае если пользователю разрешён этот модуль.