Повышение привилегий процесса программно?
Я пытаюсь установить службу с помощью InstallUtil.exe, но вызывается черезProcess.Start
, Вот код:
ProcessStartInfo startInfo = new ProcessStartInfo (m_strInstallUtil, strExePath);
System.Diagnostics.Process.Start (startInfo);
гдеm_strInstallUtil
полный путь и exe к «InstallUtil.exe» иstrExePath
это полный путь / имя моего сервиса.
Запуск синтаксиса командной строки из командной строки с повышенными правами работает; Запуск из моего приложения (с использованием вышеуказанного кода) не. Я предполагаю, что имею дело с какой-то проблемой повышения прав, поэтому как мне запустить процесс с повышенными правами? Нужно ли смотреть наShellExecute
за это?
Это все в Windows Vista. Я запускаю процесс в отладчике VS2008 с повышенными правами администратора.
Я тоже пробовал настройкуstartInfo.Verb = "runas";
но, похоже, это не решило проблему.