Permitir que um programa seja executado por uma conta não administrativa


Quando possuímos um ambiente onde temos uma conta de administrador e outra para os usuários, pode haver um momento em instalamos um programa que sempre que é executado pede as permissões de administrador. a mensagem:

"Controle de Conta de Usuário"
Deseja permitir que o programa de um fornecedor desconhecido faça alterações neste computador?

Isto pode se tornar inviável quando os usuários não possuem a senha ou uma conta com privilégios administrativos. então pesquisando no Google encontrei no fórum Technet da microsoft uma solução para Windows Vista, 7, ou Server 2008 que funcionou bem aqui no Windows 8.


Se você é usuário do Windows Vista, 7, ou Server 2008, então já deve ter se deparado com o UAC. O propósito do UAC é melhorar a segurança no Windows, o que ele faz bem, mas ao custo da facilidade de uso.

Existem muitos programas que precisam ser autorizados pelo UAC para que possam ser executados. Alguns usuários optam por desativar o UAC (o que NÃO é recomendável!), mas ao invés disso, que tal desativá-lo apenas para certos programas ao invés de desativá-lo por completo?

Felizmente essa possibilidade existe e é recomendada pela própria Microsoft em Como usar o utilitário Administrador de compatibilidade no Windows
  • Primeiro, faça o download e instale o Application Compatibility Toolkit. [2]
  • Encontre o ícone para o Compatibility Administrator (32-bit) ou Compatibility Administrator (64-bit), isso depende do aplicativo que você quer executar. Clique com o botão direito do mouse sobre ele e escolha Executar como administrador.
  • No painel do lado esquerdo, clique com o botão direito em database sob o item Custom Databases, selecione Create New e em seguida selecione Application Fix.
  • Digite o nome e as informações sobre o programa que você quer alterar e navegue até encontrar-lo e selecione-o. Clique em Next.
  • Clique em Next até chegar na tela Compatibility Fixes.
  • Na tela Compatibility Fixes, encontre o item RunAsInvoker e selecione-o.
  • Clique em Next em Matching Information, clique em Add File, e selecione outros aplicativos que fazem parte do diretório onde está o aplicativo que você que executar (esta opção é opcional).
  • Clique em Next e depois em Finish.
  • Selecione File e Save As. Salve o arquivo como app.sdb em um diretório fácil de encontrar.
  • Abra um prompt de comando apontando para o canto inferior esquerdo, clicando com o botão direito na visualização e clicando em Prompt de Comando ou Prompt de Comando (Administrador), para executar como administrador.
  • Execute o seguinte comando no prompt:
  • sdbinst \app.sdb
  • Onde é o local onde você salvou o arquivo app.sdb. Por exemplo, se você o salvou no diretório C:\Windows, o comando ficaria assim:
  • sdbinst C:\Windows\app.sdb
  • Você deve ver uma mensagem de confirmação.
  • E pronto! O Windows não irá mais invocar o UAC sempre que você executar o programa que você alterou.
É recomendável usar este método, apesar de aparentemente ser mais trabalhoso, do que desativar completamente o UAC.

[2] https://www.microsoft.com/en-US/download/details.aspx?id=39982

Você achou esse artigo útil?