Partilhar via


Como o controle de conta de usuário (UAC) afeta seu aplicativo

O Controle de Conta de Usuário (UAC) é um recurso do Windows Vista no qual as contas de usuário têm privilégios limitados. Você pode encontrar informações detalhadas sobre o UAC nestes sites:

Construindo projetos após habilitar o UAC

Se você criar um projeto do Visual Studio C++ no Windows Vista com o UAC desabilitado e, posteriormente, habilitar o UAC, deverá limpar e reconstruir o projeto para que ele funcione corretamente.

Aplicativos que exigem privilégios administrativos

Por padrão, o vinculador do Visual C++ incorpora um fragmento do UAC no manifesto de um aplicativo com um nível de execução de asInvoker. Se o seu aplicativo requer privilégios administrativos para ser executado corretamente (por exemplo, se ele modifica o nó HKLM do Registro ou se ele grava em áreas protegidas do disco, como o diretório do Windows), você deve modificar seu aplicativo.

A primeira opção é modificar o fragmento UAC do manifesto para alterar o nível de execução para requireAdministrator. O aplicativo solicitará ao usuário credenciais administrativas antes de ser executado. Para obter informações sobre como fazer isso, consulte /MANIFESTUAC (Incorpora informações do UAC no manifesto).

A segunda opção é não incorporar um fragmento do UAC no manifesto ao especificar a opção de linkador /MANIFESTUAC:NO. Nesse caso, seu aplicativo será executado virtualizado. Quaisquer alterações feitas no registro ou no sistema de arquivos não persistirão após o término do aplicativo.

O fluxograma a seguir descreve como seu aplicativo será executado, dependendo se o UAC está habilitado e se o aplicativo tem um manifesto do UAC:

Fluxograma do comportamento do Windows Loader.

Ver também

Melhores Práticas de Segurança