Você pode definir programaticamente o sinalizador "Executar este programa como um administrador" (a opção encontrada na guia Compatibilidade das propriedades de um EXE), definindo uma chave de registro simples. Você precisa criar um valor de seqüência de caracteres (REG_SZ) em uma dessas chaves (se desejar que a configuração seja por usuário ou por máquina, respectivamente):
HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ AppCompatFlags \ Layers
ou
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Camadas
O nome do valor precisa ser o caminho completo para o seu executável (se o caminho contiver espaços, não coloque o caminho entre aspas) e os dados do valor devem conter a string RUNASADMIN
.
Fonte da informação acima (do SO)
Veja um exemplo de script do PowerShell que aplicará o sinalizador (para o usuário atual) a todos os EXEs na pasta atual:
$exes = Get-Item *.exe
New-Item -Path "HKCU:\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags" -Name "Layers" -Force
foreach ($exe in $exes) {
New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" -Name "$exe" -Value RUNASADMIN -PropertyType String -Force
}