Как установить уровень выполнения для приложения .Net, запускаемого с правами администратора, когда оно запускается с учетной записью обычного пользователя в Win XP?
код требует повышенных привилегий для доступа к реестру. Однако есть только фрагмент кода, который требует этих дополнительных разрешений. Для обработки таких сценариев используется олицетворение, т.е. вы будете запускать это приложение только как обычный пользователь, но этот конкретный фрагмент кода будет выполняться так, как если бы вы были администратором.
http://msdn.microsoft.com/en-us/library/system.security.principal.windowsimpersonationcontext.aspx