Высота COM от сборки сетевого сервиса
Я пишу сборку модуля.NET, которая загружается в уже существующую службу, которая работает с учетными данными "Сетевой сервис".
Подключаемый модуль должен выполнять некоторые операции с повышенными правами, для которых мне нужно запустить управляемый COM-сервер с повышенными правами.
У меня есть доступ к коду подключаемого модуля, а также к коду COM-сервера.
Мое требование состоит в том, чтобы сделать запуск COM-сервера повышенным без запроса пользователя каким-либо образом. Сервер должен быть запущен по требованию и завершен после завершения работы.
Если кто-то может помочь мне с тем, как это может быть достигнуто, это поможет. Благодарю.
Если во время установки требуются какие-либо изменения, это можно сделать.
PS: я узнал о "COM Elevation Moniker", но похоже, что он помогает вызвать диалог повышения UAC, который не соответствует моим требованиям.
1 ответ
Поскольку у вас есть доступ к COM-серверу, я бы рекомендовал установить его как приложение COM+.
После установки в качестве приложения COM+ вы можете установить учетную запись приложения для учетной записи, которая необходима для выполнения операций.
Оттуда, предполагая, что COM-компонент установлен на том же компьютере, что и код, который вы запускаете, вы сможете получить доступ к COM-компоненту в.NET таким же образом, как CoCreateInstance
будет знать, что COM+ перехватывает реализацию.