Compartilhar via


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

User Account Control (UAC) is a feature of Windows Vista in which user accounts have limited privileges. Você pode encontrar informações detalhadas sobre o UAC nesses sites:

Construindo projetos após ativar o UAC

Se você criar um projeto Visual C++ no Windows Vista com UAC desabilitado e você ativar o UAC posteriormente, você deve limpar e reconstruir o projeto para que ele funcione corretamente.

Aplicativos que exigem privilégios administrativos

Ser 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 seu aplicativo requer privilégios administrativos para executar corretamente (por exemplo, se ele modifica o nó HKLM do registro ou grava em áreas protegidas do disco, como, por exemplo, 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 da execução. Para obter informações sobre como fazer isso, consulte / (Informações do UAC incorpora no manifesto) MANIFESTUAC.

A segunda opção é não incorporar um fragmento do UAC no manifesto, especificando a /MANIFESTUAC:NO opção de vinculador. In this case, your application will run virtualized. As alterações feitas no registro ou o sistema de arquivos não serão mantidas após o término de seu aplicativo.

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

Comportamento do Carregador do Windows Vista

Consulte também

Conceitos

Práticas recomendadas de segurança para C++