Uma vez que meu programa esteja instalado em uma máquina cliente, como forço meu programa a ser executado como administrador no Windows 7?
Você vai querer modificar o manifesto que fica embutido no programa. Isto funciona em Visual Studio 2008 e superior: Project + Add New Item, selecione "Application Manifest File" (Arquivo de Manifesto de Aplicativos). Mude o elemento <requestedExecutionLevel>
para:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
O usuário recebe o prompt UAC quando inicia o programa. Use sabiamente; sua paciência pode se desgastar rapidamente.
Adicionar um elemento requestedExecutionLevel' ao seu manifesto é apenas metade da batalha; você tem que lembrar que [UAC][1] pode ser desativado. Se for, você tem que executar a verificação da maneira antiga e colocar um diálogo de erro se o usuário não for administrador <br/> (chamar [
IsInRole(WindowsBuiltInRole.Administrator)][2] na sua thread
CurrentPrincipal`).
Você pode incorporar um arquivo manifesto no arquivo EXE, o que fará com que o Windows (7 ou superior) sempre execute o programa como um administrador.
Você pode encontrar mais detalhes em Passo 6: Criar e Incorporar um Manifesto de Aplicação (UAC) (MSDN).