2016-05-31 2 views
3

Я хочу, чтобы проверить установку application.And использовать следующий код:Как начать процесс с админами правами C#

  var pathToInstaller = ConfigurationManager.AppSettings["DesignerApp"]; 
      var psi = new ProcessStartInfo 
      { 
       CreateNoWindow = true, 
       FileName = pathToInstaller, 
       UseShellExecute = true, 
       Arguments = "/quiet", 
       Verb = "runas"    
      }; 

      var process = Process.Start(psi); 
      process.WaitForExit(); 

Но все-таки есть окно с презентацией прав administrator.What утра Я делаю неправильно?

+9

Вы * не можете * запустить процесс как администратор за спиной пользователя. В противном случае каждый вирус и вредоносное ПО могли бы обойти проверку администратора. –

+0

Как насчет этого изысканного решения. Добавьте новую службу Windows и которая будет работать под учетной записью службы системы. Он получит команду для запуска новой программы и вызовет [CreateProcessAsUserW] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms682429%28v=vs.85%29.aspx), чтобы начать процесс для нужен пользователь. –

+2

Это невозможно. Вам необходимо ** СПРОСИТЬ ** пользователю предоставить права администратора. – VSG24

ответ

0

По соображениям безопасности вы технически не должны принуждать приложение работать в режиме администратора. Но если вы хотите продолжить это, вы можете проверить эту ссылку - How do I force my .NET application to run as administrator?

+0

это больше похоже на комментарий – Gahan

Смежные вопросы