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
- Criar um arquivo de manifesto – nomeie-o como
app.manifest(exemplo abaixo). - Salvar o arquivo no mesmo diretório do arquivo de recursos (
.rc). - 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).
- 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
- No Gerenciador de Soluções, clique com o botão direito no nome do projeto e selecione Propriedades.
- Na aba Segurança, marque a opção Habilitar configurações de segurança do ClickOnce e selecione Este é um aplicativo totalmente confiável.
- Salve o projeto. O arquivo
app.manifestserá criado automaticamente. - Abra o
app.manifeste localize a tag<requestedExecutionLevel level="asInvoker" uiAccess="false" />. Altere para:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
- Ao pressionar F5 para depuração, você pode receber o erro: "ClickOnce não oferece suporte ao nível de execução solicitado 'requireAdministrator'"
- Solução: Desmarque a opção Habilitar configurações de segurança do ClickOnce nas propreidades do projeto.
- 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
- No projeto, adicione um novo item do tipo Arquivo de manifesto do aplicativo (
app.manifest). - O arquivo será adicionado fora da pasta
Properties, diretamente nas referências. - Edite o manifesto como na opção anterior, alterando o nível para
requireAdministrator. - 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).