При отсутствии манифеста обычными причинами являются эвристика имен (например, ваш файл называется setup.exe) и групповая политика (которую вы могли установить случайно после диалога «эта программа может не работать должным образом»). )
Чтобы предотвратить это, просто примените манифест (встроенный или внешний) с asInvoker. Тогда вы больше не будете заботиться об этих эвристиках и не будете повышать уровень.
Я знаю, что прокомментировал это выше, но мне нужно повторить: то, что пытается сделать ваш код, НИКОГДА не вызовет повышения. НИКОГДА. Вещи, которые не будут работать, если вы не повышены, терпят неудачу, когда вы не повышены. Это не возвысит вас.