#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 должен сделать все остальное, чтобы запросить пользователя и ускорить процесс.