Partilhar via


Gerenciando códigos-fonte de instalação

Os usuários e aplicativos com privilégios administrativos podem recuperar e modificar informações de rede, URL e lista de fontes de mídia para aplicativos e patches do Windows Installer no sistema.

Windows Installer 2.0: Não suportado. Os administradores não podem ler, reordenar ou substituir entradas na lista de fontes e não podem modificar ou recuperar propriedades da lista de fontes. É possível gerenciar fontes de rede, mas não fontes de URL ou mídia. Os administradores só podem gerenciar listas de origem para aplicativos por máquina ou aplicativos instalados como por usuário para o usuário atual. Isso impede que os administradores que usam versões anteriores ao Windows Installer versão 3.0 gerenciem informações da lista de fontes para todos os usuários do sistema.

Windows Installer 3.0 e posterior: Os usuários e aplicativos que têm privilégios de administrador podem recuperar e modificar informações da lista de fontes para aplicativos e patches do Windows Installer instalados no sistema para todos os usuários. As funções de lista de fontes podem ser usadas para gerenciar listas de fontes e propriedades de listas de fontes para fontes de rede, URL e mídia. O instalador pode reordenar listas de fontes a partir de um processo externo.

Os usuários e aplicativos que têm privilégios administrativos podem ler e modificar os seguintes tipos de informações da lista de fontes:

  • Listas de fontes para aplicativos e patches instalados para todos os usuários no sistema.
  • Listas de fontes para fontes de patch que existem além das fontes de aplicativos.
  • Listas de fontes para URL e fontes de mídia que existem além das fontes de rede.
  • Propriedades da lista de fontes, como MEDIAPACKAGEPATH, DiskPrompt, LastUsedSource, LastUsedTypee PackageName.

As funções de listas de fontes podem limitar o escopo das listas de fontes encontradas especificando o contexto de instalação e o contexto do usuário. Há três contextos de instalação possíveis: por usuário (não gerenciado), por máquina e por usuário gerenciado. O contexto do usuário pode ser um usuário específico ou todos os usuários no sistema.

Os não-administradores não podem modificar a lista de origem de uma instância de um aplicativo ou patch que existe no contexto por usuário (gerenciado ou não gerenciado) de outro usuário. Os não-administradores podem modificar as listas de origem de uma instância de um aplicativo ou patch instalado nos seguintes contextos:

Os administradores podem modificar qualquer lista de fontes que um não-administrador possa modificar. Além disso, os administradores e aplicativos que têm privilégios administrativos podem modificar as listas de origem de um aplicativo ou patch instalado nos seguintes contextos:

  • Contexto por máquina.
  • O seu próprio contexto por utilizador (não gerido) ou o seu próprio contexto por utilizador gerido.
  • Contexto gerido individualmente por outro utilizador.

Observação

Os usuários e aplicativos que têm privilégios administrativos não podem modificar a lista de origem de uma instância de um aplicativo ou patch instalado no contexto por usuário (não gerenciado) de outro usuário.

 

Gerenciando fontes de rede e URL para produtos e patches

Use a função MsiSourceListAddSourceEx para adicionar ou reordenar a lista de fontes de rede e URL para um patch ou aplicativo em um contexto específico. Use o parâmetro dwContext para especificar o contexto de instalação. Use o parâmetro szUserSid para especificar o contexto do usuário.

Use a função MsiSourceListAddSourceEx para criar uma lista de fontes para um patch que ainda não foi aplicado a nenhuma aplicação no contexto especificado. Isso pode ser útil ao registrar um patch para ter privilégios elevados. Para obter mais informações sobre como registrar privilégios elevados para um patch, consulte Patching Per-User Managed Applications.

Utilize a função MsiSourceListClearSource para remover uma fonte existente para uma aplicação ou patch em um contexto especificado. A remoção da fonte atual de um aplicativo ou patch força o instalador a pesquisar uma fonte na lista de fontes na próxima vez que uma fonte for necessária.

Use a funçãoMsiSourceListEnumSources para enumerar fontes na lista de fontes de um patch ou aplicativo especificado.

Gerenciando fontes de mídia para produtos e patches

Use a função MsiSourceListAddMediaDisk para adicionar ou atualizar as informações de disco da fonte de mídia de um aplicativo ou patch registrado. Cada entrada é identificada exclusivamente por um ID de disco. Se o disco já existir, ele será atualizado com os novos valores de rótulo de volume e prompt de disco. Se o disco não existir, uma nova entrada de disco será criada com os novos valores.

Use a funçãoMsiSourceListClearMediaDisk para remover um disco registrado existente sob a fonte de mídia de um aplicativo ou patch em um contexto específico.

Use a função MsiSourceListEnumMediaDisks para enumerar uma lista de discos registados na fonte de mídia para uma aplicação ou patch.

Recuperação e modificação da informação da lista de fontes

Utilize as funções MsiSourceListGetInfo e MsiSourceListSetInfo para recuperar ou modificar informações sobre a lista de origem de um aplicativo ou patch em um contexto específico. Use o parâmetro dwContext para especificar o contexto de instalação. Use o parâmetro szUserSid para especificar o contexto do usuário.

As propriedades da lista de origem, como MEDIAPACKAGEPATH, DiskPrompt, LastUsedSource, LastUsedTypee PackageName, podem ser acessadas.

Observação

A propriedade LastUsedType source list só pode ser lida. Ele não pode ser definido diretamente usando a funçãoMsiSourceListSetInfo.

 

Limpar a lista completa de fontes ou forçar uma resolução de fontes

Use a função MsiSourceListClearAllEx para remover todas as fontes existentes de um determinado tipo de fonte para a aplicação especificada ou instância de patch. O registo do patch também é removido se o patch não for instalado por qualquer aplicação no mesmo contexto. Use o parâmetro dwContext para especificar o contexto de instalação. Use o parâmetro szUserSid para especificar o contexto do usuário.

Use o MsiSourceListForceResolutionEx para limpar a última entrada de origem usada para um aplicativo ou patch no contexto especificado. Esta função remove o registro da propriedade chamada LastUsedSource. Esta função não afeta a lista de fontes registradas. Limpar o registro LastUsedSource força o instalador a fazer uma resolução de origem em relação às fontes registradas na próxima vez que exigir a fonte.