Estou executando um instalador de aplicativo no Windows 10. Seu manifesto diz que ele deve ser executado com privilégios de administrador. Se eu executar o aplicativo com a configuração de ambiente, __COMPAT_LAYER=RunAsInvoker
o aplicativo deve ser executado como o usuário que está chamando e não solicitar mais elevação. Isso funciona em muitos casos, no entanto, há vários casos em que o aplicativo é iniciado e imediatamente exibe a caixa de diálogo UAC.
Só para ficar 100% claro:
Eu configurei
__COMPAT_LAYER=RunAsInvoker
ao iniciar o aplicativo. Isso geralmente funciona, mas, em alguns casos, o aplicativo ainda pede elevação.User Account Control: Detect application installations and prompt for elevation
Eu configurei a política de segurança como DESATIVADA (pensei que essa seria a correção real, mas não).NÃO quero que o aplicativo seja executado com privs do administrador. Ele não precisa fazer nada que exija admin e, se precisar, quero que ele tente e falhe.
O aplicativo não está exibindo sua própria caixa de mensagem (por exemplo, verificando se pode gravar em %ProgramFiles% e, em seguida, me mostra uma mensagem personalizada. É o prompt do UAC na área de trabalho segura).
Por que isso acontece? Um aplicativo pode continuar solicitando elevação apesar da opção "RunAsInvoker"?
Como posso fazer com que o aplicativo seja executado apenas com o token do usuário atual e simplesmente falhe se tiver permissões insuficientes?
Observe que não consegui encontrar nenhuma resposta além da __COMPAT_LAYER=RunAsInvoker
configuração.