Compartir a través de


Función MsiGetProductInfoExA (msi.h)

La función MsiGetProductInfoEx devuelve información del producto para los productos anunciados e instalados. Esta función puede recuperar información

acerca de una instancia de un producto instalado en una cuenta de usuario distinta del usuario actual.

El proceso de llamada debe tener privilegios administrativos para un usuario que sea diferente del usuario actual. La función MsiGetProductInfoEx no puede consultar una instancia de un producto que se anuncia en un contexto no administrado por usuario para una cuenta de usuario distinta del usuario actual.

Esta función es una extensión de la función MsiGetProductInfo.

Sintaxis

UINT MsiGetProductInfoExA(
  [in]                LPCSTR            szProductCode,
  [in]                LPCSTR            szUserSid,
  [in]                MSIINSTALLCONTEXT dwContext,
  [in]                LPCSTR            szProperty,
  [out, optional]     LPSTR             szValue,
  [in, out, optional] LPDWORD           pcchValue
);

Parámetros

[in] szProductCode

El ProductCode GUID de la instancia de producto que se está consultando.

[in] szUserSid

Identificador de seguridad (SID) de la cuenta en la que existe la instancia del producto que se está consultando. Un NULL especifica el SID del usuario actual.

SID Significado
NULL
El usuario que ha iniciado sesión actualmente.
siD de usuario de
Enumeración de un usuario específico del sistema. Un ejemplo de SID de usuario es "S-1-3-64-2415071341-1358098788-3127455600-2561".
 
Nota La cadena de SID especial "S-1-5-18" (sistema) no se puede usar para enumerar los productos instalados según la máquina. Si dwContext es "MSIINSTALLCONTEXT_MACHINE", szUserSid debe ser NULL.
 

[in] dwContext

Contexto de instalación de la instancia de producto que se está consultando.

Nombre Significado
MSIINSTALLCONTEXT_USERMANAGED
Recupera la propiedad product de la instancia administrada por usuario del producto.
MSIINSTALLCONTEXT_USERUNMANAGED
Recupera la propiedad del producto para la instancia por usuario y no administrada del producto.
MSIINSTALLCONTEXT_MACHINE
Recupera la propiedad del producto para la instancia por máquina del producto.

[in] szProperty

Propiedad consultada.

Propiedad que se va a recuperar. Las propiedades de la tabla siguiente solo se pueden recuperar de las aplicaciones que ya están instaladas. Se garantiza que todas las propiedades necesarias están disponibles, pero otras propiedades solo están disponibles si se establece la propiedad. Para obtener más información, consulte
propiedades requeridas y propiedades de .

Propiedad Significado
INSTALLPROPERTY_PRODUCTSTATE
Estado del producto devuelto en forma de cadena como "1" para anunciado y "5" para instalado.
INSTALLPROPERTY_HELPLINK
Vínculo de soporte técnico. Para obtener más información, consulte la propiedad ARPHELPLINK.
INSTALLPROPERTY_HELPTELEPHONE
El teléfono de soporte técnico. Para obtener más información, consulte la propiedad ARPHELPTELEPHONE.
INSTALLPROPERTY_INSTALLDATE
La última vez que este producto recibió el servicio. El valor de esta propiedad se reemplaza cada vez que se aplica o quita un parche del producto o se usa la opción /v Command-Line para reparar el producto. Si el producto no ha recibido reparaciones o revisiones, esta propiedad contiene la hora en que se instaló este producto en este equipo.
INSTALLPROPERTY_INSTALLEDLANGUAGE
Idioma instalado.

Windows Installer 4.5 y versiones anteriores: no se admite .

INSTALLPROPERTY_INSTALLEDPRODUCTNAME
Nombre del producto instalado. Para obtener más información, consulte la propiedad ProductName.
INSTALLPROPERTY_INSTALLLOCATION
Ubicación de instalación. Para obtener más información, consulte la propiedad ARPINSTALLLOCATION.
INSTALLPROPERTY_INSTALLSOURCE
Origen de la instalación. Para obtener más información, consulte la propiedad sourceDir de .
INSTALLPROPERTY_LOCALPACKAGE
Paquete almacenado en caché local.
INSTALLPROPERTY_PUBLISHER
Publicador. Para obtener más información, consulte la propiedad fabricante de .
INSTALLPROPERTY_URLINFOABOUT
Información de dirección URL. Para obtener más información, consulte la propiedad ARPURLINFOABOUT.
INSTALLPROPERTY_URLUPDATEINFO
La información de actualización de la dirección URL. Para obtener más información, consulte la propiedad ARPURLUPDATEINFO.
INSTALLPROPERTY_VERSIONMINOR
La versión secundaria del producto que se deriva de la propiedad ProductVersion.
INSTALLPROPERTY_VERSIONMAJOR
La versión principal del producto derivada de la propiedad ProductVersion.
INSTALLPROPERTY_VERSIONSTRING
La versión del producto. Para obtener más información, consulte la propiedad ProductVersion.
 

Para recuperar el identificador de producto, el propietario registrado o la empresa registrada de las aplicaciones instaladas, establezca szProperty en uno de los siguientes valores de cadena de texto.

Valor Descripción
Productid Identificador del producto. Para obtener más información, consulte la propiedad productID de .
RegCompany Empresa registrada para usar el producto.
RegOwner Propietario que está registrado para usar el producto.
 

Para recuperar el tipo de instancia del producto, establezca szProperty en el siguiente valor. Esta propiedad está disponible para productos anunciados o instalados.

Valor Descripción
InstanceType Un valor que falta o un valor de 0 (cero) indica una instalación normal del producto. Un valor de uno (1) indica un producto instalado mediante una transformación de varias instancias y la propiedad MSINEWINSTANCE. Para obtener más información, vea Instalación de varias instancias de productos y revisiones.
 

Las propiedades de la tabla siguiente se pueden recuperar de las aplicaciones que se anuncian o instalan. Estas propiedades no se pueden recuperar para las instancias de producto instaladas en un contexto no administrado por usuario para cuentas de usuario distintas de la cuenta de usuario actual.

Propiedad Descripción
INSTALLPROPERTY_TRANSFORMS Transforma.
INSTALLPROPERTY_LANGUAGE Idioma del producto.
INSTALLPROPERTY_PRODUCTNAME Nombre de producto legible para personas. Para obtener más información, consulte la propiedad ProductName.
INSTALLPROPERTY_ASSIGNMENTTYPE Es igual a 0 (cero) si el producto se anuncia o instala por usuario.

Es igual a uno (1) si el producto se anuncia o instala por equipo para todos los usuarios.

INSTALLPROPERTY_PACKAGECODE Identificador del paquete desde el que se instala un producto. Para obtener más información, consulte la propiedad códigos de paquete .
INSTALLPROPERTY_VERSION Versión del producto derivada de la propiedad ProductVersion de .
INSTALLPROPERTY_PRODUCTICON Icono principal del paquete. Para obtener más información, consulte la propiedad ARPPRODUCTICON.
INSTALLPROPERTY_PACKAGENAME Nombre del paquete de instalación original.
INSTALLPROPERTY_AUTHORIZED_LUA_APP Un valor de uno (1) indica un producto que los no administradores pueden atender mediante la aplicación de revisiones de Control de cuentas de usuario (UAC). Un valor que falta o un valor de 0 (cero) indica que la aplicación de revisiones con privilegios mínimos no está habilitada. Disponible en Windows Installer 3.0 o posterior.

[out, optional] szValue

Puntero a un búfer que recibe el valor de propiedad. Este búfer debe ser lo suficientemente grande como para contener la información. Si el búfer es demasiado pequeño, la función devuelve ERROR_MORE_DATA y establece *pcchValue al número de TCHAR en el valor, no incluido el carácter NULL de terminación.

Si lpValue se establece en NULL y pcchValue se establece en un puntero válido, la función devuelve ERROR_SUCCESS y establece *pcchValue al número de TCHAR en el valor, no incluido el carácter NULL de terminación. A continuación, se puede llamar a la función de nuevo para recuperar el valor, con lpValue búfer lo suficientemente grande como para contener *pcchValue + 1 caracteres.

Si lpValue y pcchValue se establecen en null, la función devuelve ERROR_SUCCESS si el valor existe, sin recuperar el valor.

[in, out, optional] pcchValue

Puntero a una variable que especifica el número de TCHAR en el búfer de lpValue de . Cuando se devuelve la función, este parámetro se establece en el tamaño del valor solicitado si la función copia o no el valor en el búfer especificado. El tamaño se devuelve como el número de TCHAR en el valor solicitado, sin incluir el carácter nulo de terminación.

Este parámetro se puede establecer en null solo si lpValue también es NULL. De lo contrario, la función devuelve ERROR_INVALID_PARAMETER.

Valor devuelto

La función MsiGetProductInfoEx devuelve los siguientes valores.

Código devuelto Descripción
ERROR_ACCESS_DENIED
El proceso de llamada debe tener privilegios administrativos para obtener información de un producto instalado para un usuario distinto del usuario actual.
ERROR_BAD_CONFIGURATION
Los datos de configuración están dañados.
ERROR_INVALID_PARAMETER
Se pasa un parámetro no válido a la función .
ERROR_MORE_DATA
Un búfer es demasiado pequeño para contener los datos solicitados.
ERROR_SUCCESS
La función se completó correctamente.
ERROR_UNKNOWN_PRODUCT
El producto no se invierte o se desinstala.
ERROR_UNKNOWN_PROPERTY
La propiedad no se reconoce.
Nota La función MsiGetProductInfo devuelve ERROR_UNKNOWN_PROPERTY si la aplicación que se consulta se anuncia y no está instalada.
 
ERROR_FUNCTION_FAILED
Un error interno inesperado.

Observaciones

Cuando se devuelve la función MsiGetProductInfoEx, el parámetro pcchValue contiene la longitud de la cadena almacenada en el búfer. El recuento devuelto no incluye el carácter nulo de terminación. Si el búfer no es lo suficientemente grande, msiGetProductInfoEx devuelve ERROR_MORE_DATAy el parámetro pcchValue contiene el tamaño de la cadena, en TCHAR, sin contar el carácter nulo.

La función MsiGetProductInfoEx (INSTALLPROPERTY_LOCALPACKAGE) devuelve una ruta de acceso al paquete almacenado en caché. El paquete almacenado en caché solo es para uso interno. Las instalaciones del modo de mantenimiento deben invocarse a través de las funciones de MsiConfigureFeature, MsiConfigureProducto funciones msiConfigureProductEx.

La función MsiGetProductInfo devuelve ERROR_UNKNOWN_PROPERTY si la aplicación que se consulta se anuncia y no está instalada. Por ejemplo, si la aplicación se anuncia y no está instalada, una consulta para INSTALLPROPERTY_INSTALLLOCATION devuelve un error de ERROR_UNKNOWN_PROPERTY.

Nota

El encabezado msi.h define MsiGetProductInfoEx como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows Installer 5.0 en Windows Server 2012, Windows 8, Windows Server 2008 R2 o Windows 7. Windows Installer 4.0 o Windows Installer 4.5 en Windows Server 2008 o Windows Vista. Consulte Windows Installer Run-Time Requirements (Requisitos de Windows Installer) para obtener información sobre el Service Pack mínimo de Windows que requiere una versión de Windows Installer.
de la plataforma de destino de Windows
encabezado de msi.h
biblioteca de Msi.lib
DLL de Msi.dll

Consulte también

ARPHELPLINK

ARPHELPTELEPHONE

ARPINSTALLLOCATION

ARPPRODUCTICON

ARPURLINFOABOUT

ARPURLUPDATEINFO

fabricante de

MsiConfigureFeature

MsiConfigureProduct

MsiConfigureProductEx

no compatibles con Windows Installer 2.0 y versiones anteriores

códigos de paquete

productCode

ProductID

ProductName

ProductVersion

propiedades de

de propiedades requeridas

SourceDir de

funciones de estado del sistema de