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 |
---|---|
|
Vínculo de soporte técnico. Para más información, consulte la propiedad ARPHELPLINK. |
|
Teléfono de soporte técnico. Para más información, consulte la propiedad ARPHELPTELEPHONE. |
|
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. |
|
Idioma instalado.
Windows Installer 4.5 y versiones anteriores: No se admite. |
|
Nombre del producto instalado. Para más información, consulte la propiedad ProductName. |
|
Ubicación de la instalación. Para más información, consulte la propiedad ARPINSTALLLOCATION. |
|
Origen de la instalación. Para más información, consulte la propiedad SourceDir. |
|
Paquete almacenado en caché local. |
|
Editor. Para más información, consulte la propiedad Manufacturer. |
|
Información de la dirección URL. Para más información, consulte la propiedad ARPURLINFOABOUT. |
|
Información de actualización de la dirección URL. Para más información, consulte la propiedad ARPURLUPDATEINFO. |
|
Versión secundaria del producto derivada de la propiedad ProductVersion. |
|
Versión principal del producto derivada de la propiedad ProductVersion. |
|
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 |
---|---|
|
Los datos de configuración están dañados. |
|
Se pasó un parámetro no válido a la función. |
|
Un búfer es demasiado pequeño para contener los datos solicitados. |
|
Si se devuelve este valor, significa que la función se completó correctamente. |
|
El producto no está invertido o desinstalado. |
|
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