Aplicação de patch de UAC (Controle de Conta de Usuário)

A aplicação de patch do Controle de Conta de Usuário (UAC) permite que os autores de instalações do Windows Installer identifiquem patches assinados digitalmente que podem ser aplicados no futuro por usuários não administradores.

Se a assinatura digital não corresponder ao certificado, o Windows Vista exibirá uma caixa de diálogo UAC solicitando autorização do administrador antes de instalar o patch. Em sistemas anteriores ao Windows Vista, o instalador não aplicará um patch assinado que não corresponda ao certificado.

Se um não administrador tentar aplicar um patch a um aplicativo e as condições a seguir não tiverem sido atendidas, o Windows Vista notificará o usuário de que a autorização do administrador é necessária antes de instalar o patch. Um não administrador pode continuar instalando o patch, sem a necessidade de obter autorização de administrador adicional, desde que as condições a seguir sejam atendidas.

  • O aplicativo foi instalado no Windows Vista ou no Windows XP usando o Windows Installer 3.0 ou posterior.

    Windows Server 2008: sem suporte.

  • Se o aplicativo tiver sido instalado no Windows XP, o aplicativo também deverá ter sido instalado a partir de mídia removível, como um disco de CD-ROM ou DVD. Essa restrição não se aplicará se o aplicativo tiver sido instalado no Windows Vista.

  • O aplicativo não foi instalado de uma imagem de origem da instalação administrativa.

  • O aplicativo foi originalmente instalado por computador. Para obter informações sobre como permitir que não administradores apliquem patches a aplicativos gerenciados por usuário depois que o patch tiver sido aprovado como confiável por um administrador, confira Aplicação de patches em aplicativos gerenciados por usuário.

  • A tabela MsiPatchCertificate está presente no pacote do Windows Installer (arquivo .msi) e contém as informações necessárias para habilitar o UAC. A tabela e as informações podem ter sido incluídas no pacote de instalação original ou adicionadas ao pacote por um arquivo de patch do Windows Installer (arquivo .msp).

  • Os patches são assinados digitalmente por um certificado listado na tabela MsiPatchCertificate. Para obter mais informações sobre certificados de assinatura digital, confira Assinaturas digitais e o Windows Installer.

  • A assinatura digital no pacote de patch pode ser verificada em relação ao certificado na tabela MsiPatchCertificate. Para obter mais informações sobre o uso de assinaturas digitais, certificados digitais e WinVerifyTrust, confira a seção Segurança do Microsoft Windows Software Development Kit (SDK).

  • O certificado do signatário usado para verificar se a assinatura digital no pacote de patch é válida e não foi revogada.

    Observação

    Embora você não possa assinar um patch usando um certificado expirado, a avaliação de uma assinatura digital em um patch não falhará se o certificado tiver expirado. A avaliação usa a tabela MsiPatchCertificate atual, que consiste na tabela MsiPatchCertificate no pacote original e quaisquer alterações na tabela por patches sequenciados antes da atual. Um patch pode adicionar novos certificados à tabela MsiPatchCertificate para avaliar patches sequenciados após o patch atual. Um certificado revogado é sempre rejeitado.

     

  • A aplicação de patch de privilégios mínimos não foi desabilitada definindo a propriedade MSIDISABLELUAPATCHING ou a política DisableLUAPatching.

Um patch que foi aplicado usando a aplicação de patch UAC também pode ser removido por um não administrador.

Os administradores podem aplicar patches a produtos instalados por computador, independentemente da configuração do UAC do aplicativo.

Você pode determinar se a aplicação de patch com privilégios mínimos está habilitada para um aplicativo usando a função MsiGetProductInfoEx para consultar a propriedade INSTALLPROPERTY_AUTHORIZED_LUA_APP ou usando o método ProductInfo para consultar a propriedade "AuthorizedLUAApp". Se o valor de qualquer propriedade for 1, o aplicativo será habilitado para aplicação de patch de conta de usuário com privilégios mínimos.

Um administrador pode desabilitar a aplicação de patch com privilégios mínimos no computador definindo a política DisableLUAPatching como 1. Você pode definir a propriedade MSIDISABLELUAPATCHING como 1 durante a instalação inicial de um aplicativo para evitar a aplicação de patch com privilégios mínimos somente para esse aplicativo.

Essa funcionalidade está disponível a partir do Windows Installer 3.0. A aplicação de patch do UAC (Controle de Conta de Usuário) foi chamada de aplicação de patch LUA (Conta de Usuário com Privilégios Mínimos) no Windows XP. A aplicação de patch LUA não está disponível no Windows 2000 e no Windows Server 2003.

Para obter mais informações sobre a compatibilidade de aplicativos e o desenvolvimento de aplicativos compatíveis com o UAC (Controle de Conta de Usuário), confira as informações do UAC fornecidas no Microsoft Technet.