Повышение уровня процесса до уровня администратора не работает - PullRequest
2 голосов
/ 22 октября 2009

Повышение уровня процесса до уровня администратора не работает. Если я запускаю это приложение из командной строки с повышенными правами, оно работает нормально. Но мой код ниже не делает.

Process setupws = new Process();
setupws.StartInfo.FileName = @"setupws.exe";
setupws.StartInfo.Verb = "runas";
setupws.StartInfo.UseShellExecute = true;
setupws.Start();
setupws.WaitForExit();

Файл setupws.exe работает нормально, но не как администратор.

Что я делаю не так?

Спасибо

PS. В моем файле app.manifest я также использовал наивысший доступный и требующий администрирования запрос

Ответы [ 2 ]

1 голос
/ 22 октября 2009

Вы запускали приложение как администратор и пробовали его таким образом? Вы можете сделать что-то вроде:

using System.Security.Permissions;

var mine = new EnvironmentPermission(PermissionState.Unrestricted);
mine.AddPathList(EnvironmentPermissionAccess.AllAccess, Environment.CurrentDirectory);
1 голос
/ 22 октября 2009

Вам необходимо пометить ваш установщик как уровень требуемого уровня выполнения = requireAdministrator в манифесте, см. Создание и встраивание манифеста приложения (UAC) .

PS. Требуется Администратор должен быть в манифесте setupws.exe.

...