Если вам нужен процесс, который вы запускаете с повышенными привилегиями, вам нужно установить глагол runas
:
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.Verb = "runas";
//... Other initialization
Если вам нужно, чтобы ваше приложение имело повышенные привилегии, вам нужно поставитьчто в вашем app.manifest
:
Добавьте файл app.manifest
, а затем установите флаг <requestedExecutionLevel level="requireAdministrator"
.
<?xml version="1.0" encoding="utf-8" ?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1"
xmlns:asmv1="urn:schemas-microsoft-com:asm.v1"
xmlns:asmv2="urn:schemas-microsoft-com:asm.v2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.0.0.0" name="MyApplication" />
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator"
uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
</asmv1:assembly>
Это вызовет появление диалогового окна UAC, когда вашприложение запущено.