UAC не запускается, потому что ваше приложение выполняет административные функции. Многие люди считают, что когда приложение, которое не имеет повышенных прав, пытается выполнить [что-то, что не может быть повышено, а затем успешно повышено], UAC запрашивает повышение. Но это не так. Ваше приложение начинается с повышенного уровня или нет и остается таким же. Если он пытается сделать что-то, что терпит неудачу без повышения прав, то это не помогает. Вот почему добавление и удаление кода «все еще вызывает событие UAC».
То, что действительно «вызывает событие UAC», является свойством вашего exe-файла, отличного от кода, который он содержит. К ним относятся его имя, материал для обеспечения совместимости, который вы намеренно применили (щелкнув правой кнопкой мыши и отметив некоторые параметры), и материал для обеспечения совместимости, который система применила к нему для вас (часто после одного из тех диалогов «это приложение могло работать неправильно»). Людям часто бывает очень сложно определить, что из этого вызывает.
Начните с переименования exe, избегая таких слов, как настройка и обновление. Вам не нужно запускать его, между прочим - просто найдите наложение щита на значок в проводнике Windows. (см. http://www.gregcons.com/KateBlog/NamingMattersAnotherCauseOfTheOverlayIcon.aspx) Также щелкните правой кнопкой мыши и выберите «Свойства», затем посмотрите на вкладку «Совместимость». Возможно, вас просят повысить ее там.