Tente iniciar o programa a partir de um arquivo de lote que define primeiro uma variável de ambiente
set __COMPAT_LAYER=RunAsInvoker
e verifique se ele é executado como o usuário original (sem precisar de elevação). Observe que, mesmo quando estiver em execução sem precisar de elevação, isso não significa que funcionará dessa maneira.
Se sim , existem três razões possíveis para este programa exigir elevação
- Nome de arquivo mágico codificado no Windows (como setup.exe, install.exe)
- O arquivo tem um manifesto por perto (
somefile.exe
temsomefile.exe.manifest
) que requer privilégios elevados - O arquivo tem um manifesto incorporado que exige privilégios elevados
Primeiro é fácil de resolver (renomeie), segundo (delete o manifesto), para o terceiro você terá que extrair o manifesto com uma ferramenta de extração de recursos (que invalidará a assinatura digital se houver).
Se não houver , o programa verifica os privilégios e inicia o diálogo manualmente (por código). Nesse caso, se você não tiver o código-fonte para recompilar o aplicativo, estará sem sorte.