Adicionando permissão de administrador padrão ao executável gerado no VS

Ao desenvolver no Visual Studio, frequentemente precisamos de privilégios especiais, especialmente de administrador. Abaixo está um guia testado no Windows 7, dividido em dois cenários.

Cenário 1: VS 2003 ou versões anteriores

  1. Criar um arquivo de manifesto – nomeie-o como app.manifest (exemplo abaixo).
  2. Salvar o arquivo no mesmo diretório do arquivo de recursos (.rc).
  3. Editar o arquivo de recursos – abra-o com um editor de texto e adicione a seguinte linha no final:
1 24 "app.manifest"

Observação: 1 é o ID do recurso e 24 é o tipo (RT_MANIFEST).

  1. Recompilar o projeto. O executável gerado solicitará permissão de administrador ao ser executado.

Atenção: O executável gerado dessa forma não pode ser depurado diretamente – apenas executado. Para depuração como administrador, execute o Visual Studio como administrador e comante ou remova a linha adicionada ao arquivo de recursos. Caso contrário, o processo pode travar e não poderá ser encerrado nem pelo Gerenciador de Tarefas.

Cenário 2: VS 2005 ou versões posteriores

Verifique se o projeto já possui o arquivo app.manifest no Gerenciador de Soluções. Caso contrário, siga as opções abaixo.

Opção 1

  1. No Gerenciador de Soluções, clique com o botão direito no nome do projeto e selecione Propriedades.
  2. Na aba Segurança, marque a opção Habilitar configurações de segurança do ClickOnce e selecione Este é um aplicativo totalmente confiável.
  3. Salve o projeto. O arquivo app.manifest será criado automaticamente.
  4. Abra o app.manifest e localize a tag <requestedExecutionLevel level="asInvoker" uiAccess="false" />. Altere para:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

  1. Ao pressionar F5 para depuração, você pode receber o erro: "ClickOnce não oferece suporte ao nível de execução solicitado 'requireAdministrator'"
  2. Solução: Desmarque a opção Habilitar configurações de segurança do ClickOnce nas propreidades do projeto.
  3. Ao executar (F5), o sistema solicitará elevação de privilégios. Após clicar em Sim, o programa será executado com direitos de administrador.

Opção 2

  1. No projeto, adicione um novo item do tipo Arquivo de manifesto do aplicativo (app.manifest).
  2. O arquivo será adicionado fora da pasta Properties, diretamente nas referências.
  3. Edite o manifesto como na opção anterior, alterando o nível para requireAdministrator.
  4. Essa abordagem não exige a etapa de habilitar ClickOnce e evita o erro mencionado.

Após essas alterações, o executável solicitará permissão administrativa sempre que for iniciado, exibindo o prompt padrão de controle de conta de usuário (UAC).

Tags: VisualStudio manifest UAC administrador

Publicado em 6-25 23:50