Função MsiGetProductInfoA (msi.h)

A função MsiGetProductInfo retorna informações do produto para produtos publicados e instalados.

Sintaxe

UINT MsiGetProductInfoA(
  [in]      LPCSTR  szProduct,
  [in]      LPCSTR  szAttribute,
  [out]     LPSTR   lpValueBuf,
  [in, out] LPDWORD pcchValueBuf
);

Parâmetros

[in] szProduct

Especifica o código do produto para o produto.

[in] szAttribute

Especifica a propriedade que será recuperada.

As Propriedades Necessárias têm a garantia de estar disponíveis, mas outras propriedades só estarão disponíveis se essa propriedade estiver definida. Para obter mais informações, consulte Propriedades. As propriedades na lista a seguir só podem ser recuperadas de aplicativos instalados.

Propriedade Significado
INSTALLPROPERTY_HELPLINK
Link de suporte. Para obter mais informações, consulte a propriedade ARPHELPLINK.
INSTALLPROPERTY_HELPTELEPHONE
Telefone do suporte. Para obter mais informações, consulte a propriedade ARPHELPTELEPHONE.
INSTALLPROPERTY_INSTALLDATE
A última vez que este produto recebeu o serviço. O valor dessa propriedade é substituído sempre que um patch é aplicado ou removido do produto ou a Opção de Linha de Comando /v é usada para reparar o produto. Se o produto não tiver recebido reparos ou patches, essa propriedade conterá a hora em que ele foi instalado neste computador.
INSTALLPROPERTY_INSTALLEDLANGUAGE
Idioma instalado.

Windows Installer 4.5 e versões anteriores: Sem suporte.

INSTALLPROPERTY_INSTALLEDPRODUCTNAME
Nome do produto instalado. Para obter mais informações, consulte a propriedade ProductName.
INSTALLPROPERTY_INSTALLLOCATION
Local de instalação. Para obter mais informações, consulte a propriedade ARPINSTALLLOCATION.
INSTALLPROPERTY_INSTALLSOURCE
Origem da Instalação. Para obter mais informações, consulte a propriedade SourceDir.
INSTALLPROPERTY_LOCALPACKAGE
Pacote armazenado em cache local.
INSTALLPROPERTY_PUBLISHER
Editor. Para obter mais informações, consulte a propriedade Manufacturer.
INSTALLPROPERTY_URLINFOABOUT
Informações da URL. Para obter mais informações, consulte a propriedade ARPURLINFOABOUT.
INSTALLPROPERTY_URLUPDATEINFO
Informações de atualização da URL. Para obter mais informações, consulte a propriedade ARPURLUPDATEINFO.
INSTALLPROPERTY_VERSIONMINOR
Versão secundária do produto derivada da propriedade ProductVersion.
INSTALLPROPERTY_VERSIONMAJOR
Versão principal do produto derivada da propriedade ProductVersion.
INSTALLPROPERTY_VERSIONSTRING
Versão do produto. Para obter mais informações, consulte a propriedade ProductVersion.
 

Para recuperar a ID do produto, o proprietário registrado ou a empresa registrada de aplicativos instalados, defina szProperty como um dos valores de cadeia de caracteres de texto a seguir.

Valor Descrição
ProductID O identificador do produto. Para obter mais informações, consulte a propriedade ProductID.
RegCompany A empresa registrada para usar este produto.
RegOwner O proprietário registrado para usar este produto.
 

Para recuperar o tipo de instância do produto, defina szProperty com o valor a seguir. Essa propriedade está disponível para produtos anunciados ou instalados.

Valor Descrição
InstanceType Um valor ausente ou um valor de 0 (zero) indica uma instalação normal do produto. Um valor de 1 (um) indica um produto instalado usando uma transformação de várias instâncias e a propriedade MSINEWINSTANCE. Disponível com o instalador executando o Windows Server 2003 ou Windows XP com SP1. Para obter mais informações, confira Como instalar várias instâncias de produtos e patches.
 

As propriedades anunciadas na lista a seguir podem ser recuperadas de aplicativos anunciados ou instalados.

Propriedade Descrição
INSTALLPROPERTY_TRANSFORMS Transformações.
INSTALLPROPERTY_LANGUAGE Idioma do produto.
INSTALLPROPERTY_PRODUCTNAME Nome do produto legível humano. Para obter mais informações, consulte a propriedade ProductName.
INSTALLPROPERTY_ASSIGNMENTTYPE Será igual a 0 (zero) se o produto for anunciado ou instalado por usuário.

É igual a 1 (um) se o produto for anunciado ou instalado por computador para todos os usuários.

INSTALLPROPERTY_PACKAGECODE Identificador do pacote do qual este produto foi instalado. Para obter mais informações, confira Códigos de pacote.
INSTALLPROPERTY_VERSION Versão do produto derivada da propriedade ProductVersion.
INSTALLPROPERTY_PRODUCTICON Ícone principal do pacote. Para obter mais informações, consulte a propriedade ARPPRODUCTICON.
INSTALLPROPERTY_PACKAGENAME Nome do pacote de instalação original.
INSTALLPROPERTY_AUTHORIZED_LUA_APP Um valor de um (1) indica um produto que pode ser atendido por não administradores usando a Aplicação de Patch de UAC (Controle de Conta de Usuário). Um valor ausente ou um valor de 0 (zero) indica que a aplicação de patch com privilégios mínimos não está habilitada. Disponível no Windows Installer 3.0 ou posterior.

[out] lpValueBuf

Ponteiro para um buffer que recebe o valor da propriedade. Este parâmetro pode ser nulo.

[in, out] pcchValueBuf

Ponteiro para uma variável que especifica o tamanho, em caracteres, do buffer apontado pelo parâmetro lpValueBuf . Na entrada, esse é o tamanho total do buffer, incluindo um espaço para um caractere nulo de terminação. Se o buffer passado for muito pequeno, a contagem retornada não incluirá o caractere nulo de terminação.

Se lpValueBuf for nulo, pcchValueBuf poderá ser nulo. Nesse caso, a função verifica se a propriedade está registrada corretamente com o produto.

Valor retornado

Valor Significado
ERROR_BAD_CONFIGURATION
Os dados de configuração estão corrompidos.
ERROR_INVALID_PARAMETER
Um parâmetro inválido foi passado para a função.
ERROR_MORE_DATA
Um buffer é muito pequeno para conter os dados solicitados.
ERROR_SUCCESS
A função foi concluída com êxito.
ERROR_UNKNOWN_PRODUCT
O produto não é convertido ou desinstalado.
ERROR_UNKNOWN_PROPERTY
A propriedade não é reconhecida.
Nota A função MsiGetProductInfo retornará ERROR_UNKNOWN_PROPERTY se o aplicativo que está sendo consultado for anunciado e não estiver instalado.
 

Comentários

Quando a função MsiGetProductInfo retorna, o parâmetro pcchValueBuf contém o comprimento da cadeia de caracteres armazenada no buffer. A contagem retornada não inclui o caractere nulo de terminação. Se o buffer não for grande o suficiente, MsiGetProductInfo retornará ERROR_MORE_DATA e pcchValueBuf conterá o tamanho da cadeia de caracteres, em caracteres, sem contar o caractere nulo.

MsiGetProductInfo(INSTALLPROPERTY_LOCALPACKAGE) não retorna necessariamente um caminho para o pacote armazenado em cache. O pacote armazenado em cache é somente para uso interno. As instalações do modo de manutenção devem ser invocadas por meio das funções MsiConfigureFeature, MsiConfigureProduct ou MsiConfigureProductEx .

Se você tentar usar MsiGetProductInfo para consultar um produto anunciado para uma propriedade que só está disponível para produtos instalados, a função retornará ERROR_UNKNOWN_PROPERTY. Por exemplo, se o aplicativo for anunciado e não estiver instalado, uma consulta para a propriedade INSTALLPROPERTY_INSTALLLOCATION retornará um erro de ERROR_UNKNOWN_PROPERTY.

Observação

O cabeçalho msi.h define MsiGetProductInfo como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Installer 5.0 no Windows Server 2012, no Windows 8, no Windows Server 2008 R2 ou no Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 no Windows Server 2008 ou no Windows Vista. Windows Installer no Windows Server 2003 ou no Windows XP. Confira os Requisitos de tempo de execução do Windows Installer para obter informações sobre o service pack mínimo do Windows exigido por uma versão do Windows Installer.
Plataforma de Destino Windows
Cabeçalho msi.h
Biblioteca Msi.lib
DLL Msi.dll

Confira também

Determinar o contexto de instalação

Sem suporte no Windows Installer 2.0 e nas versões anteriores

Funções de status do sistema