O Windows 2008 nunca executa um programa “como administrador”

5

Eu tenho um aplicativo que o Windows 2008 sempre executaria "como administrador" (ou seja, o ícone de sobreposição de escudo azul / amarelo sempre está visível).

No entanto, o sinalizador "executar este programa como administrador" não é definido nas propriedades do arquivo.

De onde vem essa sinalização implícita e como posso me livrar dela?

Histórico: não quero executar este programa como administrador, ele deve ser executado em uma tarefa agendada com uma conta sem privilégios. Atualmente, o UAC não permite a execução deste programa.

    
por Tomalak 19.04.2011 / 15:06

1 resposta

7

Você pode estar acionando uma das várias heurísticas do Windows para determinar se um aplicativo precisa de privilégios administrativos. Se determinar que um aplicativo precisa de privilégios administrativos, ele acionará um prompt do UAC. Não é perfeito e nem sempre está certo, mas é tudo em um esforço para compatibilidade com versões anteriores.

Um dos mais comuns é simplesmente pelo nome do arquivo. Se o arquivo contiver install ou setup (e possivelmente atualização ), ele será solicitado, a menos que seja explicitamente dito não por meio de um arquivo de manifesto incorporado. Isso não é nada que você possa mudar, o desenvolvedor terá que fazer essa mudança.

Ele pode estar gravando em um local privilegiado, como em algum lugar fora de C:/Windows ou C:/Program Files ou até mesmo em um local de registro privilegiado (especificamente em algum lugar fora de HKEY_LOCAL_MACHINE ). Um usuário padrão não pode gravar (ou mesmo acessar em alguns casos) esses locais e, como tal, o Windows deve acionar um prompt do UAC para que o aplicativo funcione corretamente.

Você pode verificar se há atualizações disponíveis do editor deste aplicativo. Eles podem fornecer uma atualização que permita a compatibilidade com o Windows Server 2008. Caso contrário, tente contatá-los e perguntar se eles estão cientes de quaisquer problemas e ver se eles têm uma resolução.

Este programa também pode ser listado no banco de dados de compatibilidade integrado, exigindo elevação para funcionar corretamente. Não tenho certeza se você pode influenciar essa lista ou não, mas provavelmente seria melhor ter uma versão mais recente do editor de software que confirmou a compatibilidade com o Windows Server 2008.

Pode ser que o aplicativo seja antigo e faça algo estranho que tropeça em uma das heurísticas. Eu tinha um aplicativo que escrevi que funcionava bem no Windows XP, mas no Vista e depois disparou um prompt do UAC. não leu ou escreveu para qualquer dos locais privilegiados que mencionei anteriormente. Não alterar nenhum código e simplesmente recompilá-lo no Visual Studio 2010 (em oposição ao Visual Studio 2005 em que foi originalmente compilado) corrigiu esse problema.

    
por 19.04.2011 / 18:14