Я думаю о разработке приложения, которое в большинстве случаев должно выполняться как стандартный пользователь, но для определенных операций потребуется повышенный административный доступ. Попытка пользователя должна быть как в проводнике Windows при копировании чего-либо в защищенную папку.
Теперь вопрос в том, как это реализовать в .NET? Я знаю, что только целые процессы или, возможно, некоторые экземпляры COM могут быть подняты, а не отдельные функции. Но это было именно то, что мне нужно. Какого пути я должен идти? Напишите два исполняемых файла, один с манифестом, а другой без; программно запускать тот же процесс, который был повышен во второй раз; использовать некоторые COM-вещи? Тогда у меня есть дополнительные привилегии, но как сказать другому процессу, что делать? Использовать удаленную платформу .NET(которая устарела/сложна?); реализовать мою собственную вещь IPC с помощью сокетов/труб/что угодно? Эта повышенная задача, возможно, потребуется спросить у пользователя что-то в середине процесса. И он должен быть отменен.
Там много сказано, как UAC работает внутри или как системные администраторы могут его настроить, но я не нашел ничего, что отвечало бы на эти основные вопросы.