По какой-то причине моей программе на C # необходимо перезапустить с повышенными привилегиями. Для этого я использую следующий код:
private static void RestartForPermissionsFix()
{
ProcessStartInfo processInfo = new ProcessStartInfo();
processInfo.Verb = "runas";
processInfo.FileName = Assembly.GetExecutingAssembly().Location;
Process.Start(processInfo);
}
Это прекрасно работает.
После того, как я «исправлю свои права», я хочу перезапустить программу без прав. Я пробовал то же, что и выше, без "рун", но не работает. Я предполагаю, что процесс, запускаемый с повышенного уровня, автоматически становится повышенным. Любая идея?