Como executar o aplicativo com privilégios de administrador usando o arquivo de manifesto no Visual Studio 2005?

Eu preciso criar um aplicativo que precisa criar arquivos / pastas em "C: \ Arquivos de Programas", "Usuários [nome de usuário]" e Sys32. Além disso, o aplicativo precisa fazer alguma entrada no registro.

Esta aplicação precisa trabalhar no Vista e superior. Além disso, no Windows Server 2003 e superior.

Os Sistemas Operacionais acima têm o conceito de Controle de Conta de Usuário (UAC), onde acessar Arquivos de Programas e escrever no registro requer privilégios de administrador.

Eu olhei em muitos fóruns e descobri que usando o Microsoft SDK, podemos verificar se o usuário atual tem privilégios de administrador ou não. Mas a função "CheckTokenMembership" falha no Vista e na versão superior do sistema operacional.

Também encontrei uma solução em que o arquivo de manifesto pode ser usado para informar ao SO antecipadamente que o aplicativo atual requer privilégios de administrador. Isso é feito usando a tag "requestedExecutionLevel".

Eu estou usando o Visual Studio 2005 para criar o aplicativo. Quando criamos um aplicativo no Visual Studio, um arquivo de manifesto padrão é criado. Posso alterar esse arquivo de manifesto para incluir a tag "requestedExecutionLevel", para que meu aplicativo sempre seja executado com privilégios de administrador?

Existe algum outro método através do qual meu aplicativo é executado com privilégios de administrador sem pedir ao usuário (admin ou padrão) para executar o meu aplicativo como "executar como administrador"?

Obrigado!

questionAnswers(1)

yourAnswerToTheQuestion