Как запустить любой exe-файл с правами администратора?

#c# #.net #permissions #exe #windows-applications

#c# #.net #разрешения #exe #Windows

Вопрос:

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

Пожалуйста, подскажите мне, как запустить любой exe-файл с правами администратора в Windows 7? Если возможно, просто предложите мне пример кода.

Действительно ли это имеет значение в моем случае?

Комментарии:

1. Что вы умираете от желания сделать с повышенными привилегиями?

2. @BoltClock я подумал, что в моем случае важны привилегии, поскольку мне нужны права администратора для доступа к exe. удалены привилегии

3. Почему это отклонено и даже дважды?

Ответ №1:

Еще один совет — снова использовать UAC (контроль учетных записей пользователей) из кода. Очень интересный исходный код, ИМХО, этот http://victorhurdugaci.com/using-uac-with-c-part-1 /

Ответ №2:

Вы можете использовать RunAs: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/runas.mspx?mfr=true и выберите учетную запись с необходимыми разрешениями.

Комментарии:

1. 1 за runas то, что и не падает, как запрограммировать выход из этой дыры.

2. @morten я пробовал это с помощью runas, но проблема в том, что если я сохраню process.useshellexecute=false, он не будет запускаться от имени администратора, но если я сохраню значение true, он будет работать хорошо, но не сможет дать ему команду. Здесь возникает тупик!!

3. тупиковая ситуация не имеет смысла. Можете ли вы объяснить подробнее

Ответ №3:

Используйте runas глагол при запуске процесса:

 ProcessStartInfo info = new ProcessStartInfo(path) { Verb = "runas" };
Process p = Process.Start(info);
  

Предполагается, что вы работаете как пользователь в группе администраторов. В этом случае при запуске процесса будет показано диалоговое окно UAC.

Ответ №4:

Измените манифест приложения C # так, чтобы для него требовались права администратора. UAC должен сделать все остальное, чтобы запросить пользователя и ускорить процесс.