Возможно, вы видели это, но на всякий случай, и для других пользователей, читающих это, здесь есть хорошая блок-схема архитектуры UAC ....
http://msdn.microsoft.com/en-us/library/bb756945.aspx
Что касается UAC, насколько мне известно, вся информация о том, как UAC должен работать с конкретным приложением, находится в манифесте, который встроен в exe или dll на этапе компоновки.
С тех пор, как изменились .Net, даже приложения, отличные от .Net, должны иметь манифест в них, чтобы сообщить Windows, что они не являются .Net.Все встроенные в более новые версии Visual Studio или, по крайней мере, те, которые я встроил, имеют широкий диапазон параметров UAC в разделе манифеста параметров компоновщика, включая те, которые позволяют отключить его.