Gerenciando fontes de instalação

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

Windows Instalador 2.0: sem suporte. Os administradores não podem ler, reordenar ou substituir entradas na lista de origem e não podem modificar ou recuperar as propriedades da lista de origem. É 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 computador ou aplicativos instalados como por usuário para o usuário atual. Isso impede que os administradores usem versões anteriores a Windows Installer versão 3.0 de gerenciar informações de lista de origem para todos os usuários do sistema.

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

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

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

As funções de lista de origem podem limitar o escopo das listas de origem 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 computador 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 origem que um não administrador possa modificar. Além disso, administradores e aplicativos que têm privilégios administrativos podem modificar as listas de origem de um aplicativo ou patch instalados nos seguintes contextos:

  • Contexto por computador.
  • Seus próprios por usuário (não gerenciado) ou seu próprio contexto gerenciado por usuário.
  • Contexto gerenciado por usuário de outro usuário.

Observação

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 origem 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 origem para um patch que ainda não foi aplicado a nenhum aplicativo 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.

Use a função MsiSourceListClearSource para remover uma origem existente para um aplicativo ou patch em um contexto especificado. Remover a origem atual de um aplicativo ou patch força o instalador a pesquisar uma origem na próxima vez que uma fonte for necessária.

Use a função MsiSourceListEnumSources para enumerar fontes na lista de origem 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 uma 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ção MsiSourceListClearMediaDisk para remover um disco registrado existente na fonte de mídia para um aplicativo ou patch em um contexto específico.

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

Recuperação e modificação de informações da lista de origem

Use 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.

Propriedades da lista de origem, como MEDIAPACKAGEPATH, DiskPrompt, LastUsedSource, LastUsedType e PackageName , podem ser acessadas.

Observação

A propriedade da lista de origem LastUsedType só pode ser lida. Ele não pode ser definido diretamente usando a função MsiSourceListSetInfo .

 

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

Use a função MsiSourceListClearAllEx para remover todas as fontes existentes de um determinado tipo de origem para o aplicativo ou a instância de patch especificada. O registro de patch também será removido se o patch não for instalado por nenhum aplicativo 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. Essa função remove o registro da propriedade chamada LastUsedSource. Essa função não afeta a lista de origem registrada. 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 origem.