Función MsiGetProductInfoA (msi.h)

La función MsiGetProductInfo devuelve información del producto para los productos publicados e instalados.

Sintaxis

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

Parámetros

[in] szProduct

Especifica el código del producto para el producto.

[in] szAttribute

Especifica la propiedad que se va a recuperar.

Se garantiza que las propiedades requeridas están disponibles, pero otras propiedades solo están disponibles si se establece esa propiedad. Para obtener más información, consulta Propiedades. Las propiedades de la lista siguiente solo se pueden recuperar de las aplicaciones instaladas.

Propiedad Significado
INSTALLPROPERTY_HELPLINK
Vínculo de soporte técnico. Para más información, consulte la propiedad ARPHELPLINK.
INSTALLPROPERTY_HELPTELEPHONE
Teléfono de soporte técnico. Para 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 elimina una revisión del producto o se usa la opción de línea de comandos /v para reparar el producto. Si el producto no ha recibido reparaciones ni revisiones, esta propiedad contiene la hora en que este producto se instaló en este equipo.
INSTALLPROPERTY_INSTALLEDLANGUAGE
Idioma instalado.

Windows Installer 4.5 y versiones anteriores: No se admite.

INSTALLPROPERTY_INSTALLEDPRODUCTNAME
Nombre del producto instalado. Para más información, consulte la propiedad ProductName.
INSTALLPROPERTY_INSTALLLOCATION
Ubicación de la instalación. Para más información, consulte la propiedad ARPINSTALLLOCATION.
INSTALLPROPERTY_INSTALLSOURCE
Origen de la instalación. Para más información, consulte la propiedad SourceDir.
INSTALLPROPERTY_LOCALPACKAGE
Paquete almacenado en caché local.
INSTALLPROPERTY_PUBLISHER
Editor. Para más información, consulte la propiedad Manufacturer.
INSTALLPROPERTY_URLINFOABOUT
Información de la dirección URL. Para más información, consulte la propiedad ARPURLINFOABOUT.
INSTALLPROPERTY_URLUPDATEINFO
Información de actualización de la dirección URL. Para más información, consulte la propiedad ARPURLUPDATEINFO.
INSTALLPROPERTY_VERSIONMINOR
Versión secundaria del producto derivada de la propiedad ProductVersion.
INSTALLPROPERTY_VERSIONMAJOR
Versión principal del producto derivada de la propiedad ProductVersion.
INSTALLPROPERTY_VERSIONSTRING
Versión del producto. Para 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 de producto del producto. Para más información, consulte la propiedad ProductID.
RegCompany La empresa registrada para usar este producto.
RegOwner El propietario registrado para usar este producto.
 

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

Value Descripción
InstanceType Un valor que falta o un valor de 0 (cero) indica una instalación de producto normal. Un valor de 1 (uno) indica un producto instalado mediante una transformación de instancia múltiple y la propiedad MSINEWINSTANCE. Disponible con el instalador que ejecuta Windows Server 2003 o Windows XP con SP1. Para obtener más información, consulte Instalación de varias instancias de productos y revisiones.
 

Las propiedades anunciadas de la lista siguiente se pueden recuperar de las aplicaciones que se anuncian o instalan.

Propiedad Descripción
INSTALLPROPERTY_TRANSFORMS Transformaciones.
INSTALLPROPERTY_LANGUAGE Idioma del producto.
INSTALLPROPERTY_PRODUCTNAME Nombre de producto legible humano. Para 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 1 (uno) si el producto se anuncia o instala por máquina para todos los usuarios.

INSTALLPROPERTY_PACKAGECODE Identificador del paquete desde el que se instaló este producto. Para más información, consulte Códigos de paquete.
INSTALLPROPERTY_VERSION Versión del producto derivada de la propiedad ProductVersion.
INSTALLPROPERTY_PRODUCTICON Icono principal del paquete. Para 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 usuarios que no son 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] lpValueBuf

Puntero a un búfer que recibe el valor de propiedad. Este parámetro puede ser NULL.

[in, out] pcchValueBuf

Puntero a una variable que especifica el tamaño, en caracteres, del búfer al que apunta el parámetro lpValueBuf . En la entrada, este es el tamaño completo del búfer, incluido un espacio para un carácter nulo de terminación. Si el búfer pasado es demasiado pequeño, el recuento devuelto no incluye el carácter nulo de terminación.

Si lpValueBuf es null, pcchValueBuf puede ser null. En este caso, la función comprueba que la propiedad está registrada correctamente con el producto.

Valor devuelto

Valor Significado
ERROR_BAD_CONFIGURATION
Los datos de configuración están dañados.
ERROR_INVALID_PARAMETER
Se pasó 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
Si se devuelve este valor, significa que la función se completó correctamente.
ERROR_UNKNOWN_PRODUCT
El producto no está invertido o desinstalado.
ERROR_UNKNOWN_PROPERTY
La propiedad no está reconocida.
Nota La función MsiGetProductInfo devuelve ERROR_UNKNOWN_PROPERTY si la aplicación que se consulta se anuncia y no está instalada.
 

Comentarios

Cuando la función MsiGetProductInfo devuelve, el parámetro pcchValueBuf 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, MsiGetProductInfo devuelve ERROR_MORE_DATA y pcchValueBuf contiene el tamaño de la cadena, en caracteres, sin contar el carácter null.

MsiGetProductInfo(INSTALLPROPERTY_LOCALPACKAGE) no devuelve necesariamente una ruta de acceso al paquete almacenado en caché. El paquete almacenado en caché es solo para uso interno. Las instalaciones en modo de mantenimiento deben invocarse a través de las funciones MsiConfigureFeature, MsiConfigureProduct o MsiConfigureProductEx .

Si intenta usar MsiGetProductInfo para consultar un producto anunciado para una propiedad que solo está disponible para los productos instalados, la función devuelve ERROR_UNKNOWN_PROPERTY. Por ejemplo, si la aplicación se anuncia y no está instalada, una consulta para la propiedad INSTALLPROPERTY_INSTALLLOCATION devuelve un error de ERROR_UNKNOWN_PROPERTY.

Nota

El encabezado msi.h define MsiGetProductInfo 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 neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible 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. Windows Installer en Windows Server 2003 o Windows XP. Consulte Windows Installer para obtener información sobre el Service Pack mínimo de Windows que requiere una versión de Windows Installer.
Plataforma de destino Windows
Encabezado msi.h
Library Msi.lib
Archivo DLL Msi.dll

Consulte también

Determinación del contexto de instalación

No se admite en Windows Installer 2.0 ni en versiones anteriores

Funciones de estado del sistema