Implantação do Windows Installer no Windows Vista

Tecnologia Windows Installer oferece suporte à instalação de software no sistema operacional Windows Vista.O usuário participante instalar aplicativos no Windows Vista deve receber solicitações somente para cada instalação do componente que requeira elevação, mesmo quando o computador do usuário é executado sob controle de conta de usuário (UAC).Para obter informações sobre como conjunto o UAC, consulte O Windows Vista e o Visual Studio.

Elevação do aplicativo

Normalmente, o Setup.exe (também conhecido sistema autônomo o bootstrapper) não é executado privilegiada; ele é executado no nível de permissão do usuário corrente.Portanto, a instalação não aviso elevação ao inicia a instalação do aplicativo final.No entanto, observe que um arquivo .msi geralmente solicita ao usuário, e o Setup.exe não.

No manifesto UAC incorporado do bootstrapper, a requestedExecutionLevel nó Especifica que a instalação ser executado sistema autônomo o corrente (usuárioasInvoker):

<requestedExecutionLevel level="asInvoker" />

No entanto, você pode elevar a instalação do aplicativo se for necessário.Por exemplo, modificando sistema autônomo configurações do Serviços de Informações da Internet (Serviços de Informações da Internet) em um projeto Web Setup requer privilégios administrativos, sistema autônomo instalar assemblies para o cache global de assemblies.A solicitação de elevação ocorre após as instalações pré-requisito, mas antes da instalação do aplicativo.

Para elevar as permissões para uma instalação, abra o arquivo de projeto (.vdproj).No MsiBootstrapper seção, conjunto o RequiresElevation propriedade para True. Esta propriedade não é disponibilizada por meio do ambiente de desenvolvimento integrado (IDE) do Visual Studio.Portanto, você deve usar o arquivo de projeto.Para obter mais informações, consulte Propriedade RequiresElevation.

Elevação assistido administrador

Windows Installer oferece suporte assistido administrador elevação no Windows Vista.Nesse cenário, o usuário será solicitado a fornecer credenciais de administrador e o administrador entra a senha do usuário.Para oferecer suporte a esse cenário, o bootstrapper define o AdminUser propriedade para True Quando o computador está em execução no Windows Vista ou uma versão mais recente do Windows.

Observação:

Se você estiver executando Windows Vista em um computador que faz não nos e UAC e você não for um administrador AdminUser ainda será definido como True. Portanto, sistema autônomo instaladores .exe (sistema autônomo SQLExpress32.exe) devem ser escritos para detectar sistema autônomo permissões apropriadas e gerar um código de sair específico no caso de permissão insuficiente.Você deve criar Setup.exe para capturar esse código de sair e exibir uma mensagem informando que um administrador é necessário.

Pré-requisito de elevação

Windows Vista eleva componente pré-instalação quando for necessário.O bootstrapper próprio não executa nenhuma elevação; quando o Windows Vista é executado no UAC, ele emite um aviso para cada componente de pré-requisito que deve ser elevado, a menos que já está instalado.Se uma elevação de pacote falhar, o bootstrapper falhará e envia uma mensagem de erro apropriada.

Elevação de ação personalizada

Ações personalizadas que você criar no Custom Actions Editor executar sistema autônomo elevados.Ações personalizadas não devem acessar dados específicos do usuário, sistema autônomo o registro ou arquivo sistema, sistema autônomo a ação personalizada não será executado em chamar o usuário da conta.

Por padrão, ações personalizadas executam elevadas porque a configuração padrão de NoImpersonate propriedade é True no Editor de ações personalizadas. Alteração de NoImpersonate para False forçaria a ação personalizada para representar o usuário de chamada, que poderá ter reduzido permissões.

Diferenças entre versões do Visual Studio

Também observe que haverá diferenças entre a maneira que Visual Studio 2005 e Visual Studio 2008 Projetos de instalação serão executados no UAC do Windows Vista.

Detecção de instalador interno do Windows Vista solicita consentimento quando executados no UAC.Um bootstrapper (Setup.exe) criado com Visual Studio 2005 sempre prompts para consentimento, independentemente do que está instalando. Como Setup.exe e todos os seus processos executados com um token de administrador no Windows Vista, a instalação do aplicativo final será instalada com privilégios elevados.Se um usuário executa o Setup.exe com elevação auxiliadas por administrador, o aplicativo será instalado em um analisar de usuário elevados (não o analisar do administrador).

In Visual Studio 2008, o comportamento do Setup.exe alterações; ele não aviso elevação ao ser iniciado. Para evitar a solicitação de elevação, o manifesto incorporado do bootstrapper Especifica que Setup.exe executado com um nível de execução solicitado de asInvoker. Isso fornece a vantagem de instalação do aplicativo final não sejam executada privilegiada, embora ainda permitindo que a instalação dos componentes de pré-requisito para ser elevados conforme necessário.O bootstrapper chama ShellExecute Para inicialização o pré-requisitos. Windows Vista recebe essa telefonar, executa a detecção de instalação e emite um aviso do usuário antes da instalação.

A desvantagem dessa alterar é que um aviso é emitido para cada componente pré-requisito que precisa ser instalado, juntamente com o próprio aplicativo.No entanto, se todos os pré-requisitos já estiverem no computador, a instalação não pode causar avisos.Além disso, você não deve ter verificações externas que exigem elevação.Verificações externas funcionará, mas o usuário recebe vários solicita elevação cada verificação externa, além aos avisos para o instalador.

Consulte também

Conceitos

Implantação do Windows Installer no Windows Vista

O Windows Vista e o Visual Studio

Permissões de usuário e Visual Studio 

Outros recursos

Conceitos de implantação do Windows Installer