Função MsiGetProductInfoExW (msi.h)
A função MsiGetProductInfoEx retorna informações do produto para produtos anunciados e instalados. Essa função pode recuperar informações
sobre uma instância de um produto instalado em uma conta de usuário diferente do usuário atual.
O processo de chamada deve ter privilégios administrativos para um usuário diferente do usuário atual. A função MsiGetProductInfoEx não pode consultar uma instância de um produto que é anunciada em um contexto por usuário não gerenciado para uma conta de usuário diferente do usuário atual.
Essa função é uma extensão da função
Sintaxe
UINT MsiGetProductInfoExW(
[in] LPCWSTR szProductCode,
[in] LPCWSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] LPCWSTR szProperty,
[out, optional] LPWSTR szValue,
[in, out, optional] LPDWORD pcchValue
);
Parâmetros
[in] szProductCode
O ProductCode GUID da instância do produto que está sendo consultada.
[in] szUserSid
O SID (identificador de segurança) da conta na qual a instância do produto que está sendo consultado existe. Um NULL
[in] dwContext
O contexto de instalação da instância do produto que está sendo consultada.
[in] szProperty
Propriedade que está sendo consultada.
A propriedade a ser recuperada. As propriedades na tabela a seguir só podem ser recuperadas de aplicativos que já estão instalados. Todas as propriedades necessárias têm garantia de estar disponíveis, mas outras propriedades só estarão disponíveis se a propriedade estiver definida. Para obter mais informações, consulte
propriedades necessárias e propriedades .
Propriedade | Significado |
---|---|
|
O estado do produto retornado no formato de cadeia de caracteres como "1" para anunciado e "5" para instalado. |
|
O link de suporte. Para obter mais informações, consulte a propriedade ARPHELPLINK. |
|
O 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. |
|
O nome do produto instalado. Para obter mais informações, consulte a propriedade ProductName. |
|
O local de instalação. Para obter mais informações, consulte a propriedade ARPINSTALLLOCATION. |
|
A origem da instalação. Para obter mais informações, consulte a propriedade SourceDir. |
|
O pacote armazenado em cache local. |
|
O editor. Para obter mais informações, consulte a propriedade fabricante do |
|
Informações de URL. Para obter mais informações, consulte a propriedade ARPURLINFOABOUT. |
|
As informações de atualização da URL. Para obter mais informações, consulte a propriedade ARPURLUPDATEINFO |
|
A versão secundária do produto derivada da propriedade ProductVersion. |
|
A versão principal do produto derivada da propriedade |
|
A 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 obter mais informações, consulte a propriedade ProductID. |
RegCompany | A empresa que está registrada para usar o produto. |
RegOwner | O proprietário que está registrado para usar o 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 um (1) indica um produto instalado usando uma transformação de várias instâncias e a propriedade MSINEWINSTANCE. Para obter mais informações, consulte Instalando várias instâncias de produtos e patches. |
As propriedades na tabela a seguir podem ser recuperadas de aplicativos que são anunciados ou instalados. Essas propriedades não podem ser recuperadas para instâncias de produto instaladas em um contexto não gerenciado por usuário para contas de usuário diferentes da conta de usuário atual.
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 um (1) se o produto for anunciado ou instalado por computador para todos os usuários. |
INSTALLPROPERTY_PACKAGECODE | Identificador do pacote do qual um produto está instalado. Para obter mais informações, consulte a propriedade Package Codes. |
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, optional] szValue
Um ponteiro para um buffer que recebe o valor da propriedade. Esse buffer deve ser grande o suficiente para conter as informações. Se o buffer for muito pequeno, a função retornará ERROR_MORE_DATA e definirá * pcchValue para o número de TCHAR no valor, não incluindo o caractere NULL de encerramento.
Se lpValue estiver definida como NULL e pcchValue estiver definida como um ponteiro válido, a função retornará ERROR_SUCCESS e definirá * pcchValue para o número de TCHAR no valor, sem incluir o caractere NULL de encerramento. Em seguida, a função pode ser chamada novamente para recuperar o valor, com lpValue buffer grande o suficiente para conter *pcchValue + 1 caracteres.
Se lpValue e pcchValue estiverem definidas como NULL, a função retornará ERROR_SUCCESS se o valor existir, sem recuperar o valor.
[in, out, optional] pcchValue
Um ponteiro para uma variável que especifica o número de TCHAR
Esse parâmetro pode ser definido como NULL somente se lpValue também estiver NULL. Caso contrário, a função retornará ERROR_INVALID_PARAMETER.
Valor de retorno
A função MsiGetProductInfoEx retorna os valores a seguir.
Código de retorno | Descrição |
---|---|
|
O processo de chamada deve ter privilégios administrativos para obter informações de um produto instalado para um usuário diferente do usuário atual. |
|
Os dados de configuração estão corrompidos. |
|
Um parâmetro inválido é 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.
|
|
Uma falha interna inesperada. |
Observações
Quando a função
A função MsiGetProductInfoEx (INSTALLPROPERTY_LOCALPACKAGE) retorna 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
A função MsiGetProductInfo retorna ERROR_UNKNOWN_PROPERTY se o aplicativo que está sendo consultado for anunciado e não estiver instalado. Por exemplo, se o aplicativo for anunciado e não estiver instalado, uma consulta para INSTALLPROPERTY_INSTALLLOCATION retornará um erro de ERROR_UNKNOWN_PROPERTY.
Nota
O cabeçalho msi.h define MsiGetProductInfoEx 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. 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. 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
ARPINSTALLLOCATION
fabricante de
sem suporte no Windows Installer 2.0 e anteriores