Função MsiGetProductInfoA (msi.h)
A função MsiGetProductInfo retorna informações sobre o 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 a ser recuperada.
As propriedades necessárias estarão disponíveis, mas outras propriedades só estarão disponíveis se essa propriedade estiver definida. Para obter mais informações, consulte Properties. As propriedades na lista a seguir só podem ser recuperadas de aplicativos instalados.
Propriedade | Significado |
---|---|
|
Link de suporte. Para obter mais informações, consulte a propriedade ARPHELPLINK. |
|
Telefone de suporte. Para obter mais informações, consulte a propriedade ARPHELPTELEPHONE. |
|
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 /v Command-Line é usada para reparar o produto. Se o produto não tiver recebido reparos ou patches, essa propriedade conterá a hora em que este produto foi instalado neste computador. |
|
Idioma instalado.
Windows Installer 4.5 eanteriores: sem suporte. |
|
Nome do produto instalado. Para obter mais informações, consulte a propriedade ProductName. |
|
Local de instalação. Para obter mais informações, consulte a propriedade ARPINSTALLLOCATION. |
|
Origem da instalação. Para obter mais informações, consulte a propriedade SourceDir. |
|
Pacote armazenado em cache local. |
|
Editor. Para obter mais informações, consulte a propriedade fabricante do |
|
Informações de URL. Para obter mais informações, consulte a propriedade ARPURLINFOABOUT. |
|
Informações de atualização de URL. Para obter mais informações, consulte a propriedade ARPURLUPDATEINFO |
|
Versão secundária do produto derivada da propriedade |
|
Versão principal do produto derivada da propriedade |
|
Versão do produto. Para obter mais informações, consulte a propriedade |
Para recuperar a ID do produto, o proprietário registrado ou a empresa registrada de aplicativos instalados, defina szProperty para um dos seguintes valores de cadeia de caracteres de texto.
Valor | Descrição |
---|---|
Productid | O identificador do produto para o 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 para 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, consulte instalando várias instâncias de produtos e patches. |
As propriedades anunciadas na lista a seguir podem ser recuperadas de aplicativos que são anunciados ou instalados.
Propriedade | Descrição |
---|---|
INSTALLPROPERTY_TRANSFORMS | Transforma. |
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.
Será 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, consulte códigos de pacote. |
INSTALLPROPERTY_VERSION | Versão do produto derivada da propriedade |
INSTALLPROPERTY_PRODUCTICON | Ícone primário 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 de Aplicação de Patch do UAC (Controle de Conta de Usuário). Um valor ausente ou um valor de 0 (zero) indica que a aplicação de patch de privilégio mínimo 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. Esse 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 encerramento.
Se lpValueBuf for nulo, pcchValueBuf poderá ser nulo. Nesse caso, a função verifica se a propriedade está registrada corretamente com o produto.
Valor de retorno
Valor | Significado |
---|---|
|
Os dados de configuração estão corrompidos. |
|
Um parâmetro inválido foi passado para a função. |
|
Um buffer é muito pequeno para conter os dados solicitados. |
|
A função foi concluída com êxito. |
|
O produto não é convertido ou desinstalado. |
|
A propriedade não é reconhecida.
Observação a função MsiGetProductInfo retornará ERROR_UNKNOWN_PROPERTY se o aplicativo que está sendo consultado for anunciado e não estiver instalado.
|
Observações
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 contém 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, MsiConfigureProductou 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.
Nota
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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows Installer 5.0 no Windows Server 2012, Windows 8, Windows Server 2008 R2 ou Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 no Windows Server 2008 ou Windows Vista. Windows Installer no Windows Server 2003 ou Windows XP. Consulte os Requisitos de Run-Time do Windows Installer para obter informações sobre o service pack mínimo do Windows exigido por uma versão do Windows Installer. |
da Plataforma de Destino |
Windows |
cabeçalho | msi.h |
biblioteca | Msi.lib |
de DLL |
Msi.dll |
Consulte também
determinando de contexto de instalação