Запуск службы Windows программно с использованием олицетворения - PullRequest
1 голос
/ 12 апреля 2011

Я искал ответ на свою проблему в течение нескольких часов, но, попробовав много предложений, я все еще застрял.

У меня есть приложение на основе форм C # для Windows, над которым я работаю, и мне нужно запускать службу Windows (также часть решения) программно (когда пользователь нажимает соответствующую кнопку).Эта часть уже установлена ​​- я могу запустить службу, но ... У меня есть некоторые проблемы в Windows 7 и 2008 Server.

Проблема в том, что я не могу сделать это, так как мое приложение загружаетсяадминистратор машины, но как отфильтрованный стандарт, а не как полный администратор ( подробнее здесь ).Если мы запустим приложение от имени администратора, оно будет работать нормально, но я не хочу мешать пользователю делать это каждый раз.

Я хотел бы знать, можно ли вывести экран подтверждения Windows, когда пользователь вводит форму, где он может запустить службу - в качестве полного администратора.

Есть идеи?

Спасибо

Ответы [ 2 ]

2 голосов
/ 12 апреля 2011

IIRC - вы не можете повысить привилегии существующих процессов, вам нужно будет запустить новый процесс для выполнения операции, которая требует этого.

Найден предыдущий вопрос , который более подробно объясняетэто.

1 голос
/ 13 апреля 2011

Вы можете запустить другое приложение через ShellExecute (используя глагол runas), чтобы Windows предложила пользователю, или использовать COM Elevation Moniker (оба, когда пользователь нажимает на кнопку).

Если вы ориентируетесь на Windows Server 2008 R2 / Windows 7, возможно, вы можете использовать События запуска службы .

Лучше

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...