Как установить программу, чтобы ее можно было запускать при запуске с правами администратора в Windows Vista / 7 - PullRequest
2 голосов
/ 24 июля 2010

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

Спасибо

Ответы [ 4 ]

3 голосов
/ 24 июля 2010

Вы не можете. Единственный другой способ запуска с повышенными правами без согласия пользователя - это запланированное задание.

1 голос
/ 24 июля 2010

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

Официальное руководство: ваша программа запуска не должна требовать повышения прав.Если честно, мне сложно представить сценарий, в котором вы могли бы на законных основаниях требовать повышения прав при запуске приложения.Не могли бы вы предоставить более подробную информацию о , почему вам нужна высота?

1 голос
/ 24 июля 2010

Windows не будет запускать приложение с повышенными правами при запуске, поскольку не хочет запрашивать миллион приложений для запуска.Технически вы можете обойти это, написав простой пусковой механизм, который ShellExecute является вашим реальным приложением, но он подскажет вам при запуске и это довольно раздражает.Лучший подход, как говорили другие, состоит в том, чтобы переместить задачи, для которых вам требуются административные привилегии, в службу и отделить элементы пользовательского интерфейса.

0 голосов
/ 24 июля 2010

Это невозможно.Ближайший опыт, который вы могли бы получить, - это создать службу для запуска с повышенными правами и приложение winforms, которое работает без повышения прав и является лишь внешним интерфейсом службы.Тем не менее, вы должны быть осторожны, вы можете вызвать проблемы с безопасностью, если не будете правильно вывешивать стену.

...