Compartir a través de


Función MsiProvideQualifiedComponentExW (msi.h)

La función MsiProvideQualifiedComponentEx devuelve la ruta de acceso completa del componente para un componente calificado publicado por un producto y realiza cualquier instalación necesaria. Esta función solicita el origen si es necesario e incrementa el recuento de uso de la característica.

Sintaxis

UINT MsiProvideQualifiedComponentExW(
  [in]      LPCWSTR szCategory,
  [in]      LPCWSTR szQualifier,
  [in]      DWORD   dwInstallMode,
  [in]      LPCWSTR szProduct,
  [in]      DWORD   dwUnused1,
  [in]      DWORD   dwUnused2,
  [out]     LPWSTR  lpPathBuf,
  [in, out] LPDWORD pcchPathBuf
);

Parámetros

[in] szCategory

Especifica el identificador de componente que para el componente solicitado. Puede que no sea el GUID del propio componente, sino un servidor que proporcione la funcionalidad correcta, como en la columna ComponentId de la tabla PublishComponent.

[in] szQualifier

Especifica un calificador en una lista de componentes de publicidad (de PublishComponent Table).

[in] dwInstallMode

Define el modo de instalación. Este parámetro puede ser uno de los valores siguientes.

Valor Significado
INSTALLMODE_DEFAULT
Proporcione el componente y realice cualquier instalación necesaria para proporcionar el componente. Si falta el archivo de clave de un componente de la característica solicitada o un elemento primario de la característica, vuelva a instalar la característica mediante MsiReinstallFeature con los siguientes bits de marca establecidos: REINSTALLMODE_FILEMISSING, REINSTALLMODE_FILEOLDERVERSION, REINSTALLMODE_FILEVERIFY, REINSTALLMODE_MACHINEDATA, REINSTALLMODE_USERDATA y REINSTALLMODE_SHORTCUT.
INSTALLMODE_EXISTING
Proporcione el componente solo si existe la característica. De lo contrario, devuelve ERROR_FILE_NOT_FOUND.

Este modo comprueba que existe el archivo de clave del componente.

INSTALLMODE_NODETECTION
Proporcione el componente solo si existe la característica. De lo contrario, devuelve ERROR_FILE_NOT_FOUND.

Este modo solo comprueba que el componente está registrado y no comprueba que el archivo de clave del componente exista.

INSTALLMODE_EXISTING
Proporcione el componente solo si existe la característica; de lo contrario, devuelva ERROR_FILE_NOT_FOUND.
combinación de las marcas REINSTALLMODE
Llame a MsiReinstallFeature para volver a instalar la característica mediante este parámetro para el parámetro dwReinstallMode y, a continuación, proporcione el componente.
INSTALLMODE_NOSOURCERESOLUTION
Proporcione el componente solo si el estado de instalación de la característica es INSTALLSTATE_LOCAL. Si el estado de instalación de la característica es INSTALLSTATE_SOURCE, devuelva ERROR_INSTALL_SOURCE_ABSENT. De lo contrario, devuelve ERROR_FILE_NOT_FOUND. Este modo solo comprueba que el componente está registrado y no comprueba que el archivo de clave exista.

[in] szProduct

Especifica el producto que debe coincidir que ha publicado el componente calificado. Si es null, esta API funciona igual que MsiProvideQualifiedComponent.

[in] dwUnused1

Reservado. Debe ser cero.

[in] dwUnused2

Reservado. Debe ser cero.

[out] lpPathBuf

Puntero a una variable que recibe la ruta de acceso al componente. Este parámetro puede ser NULL.

[in, out] pcchPathBuf

Puntero a una variable que especifica el tamaño, en caracteres, del búfer al que apunta el parámetro lpPathBuf . 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 lpPathBuf es null, pcchBuf puede ser null.

Valor devuelto

Valor Significado
ERROR_INDEX_ABSENT
El calificador de componente no es válido o no está presente.
ERROR_SUCCESS
Si se devuelve este valor, significa que la función se completó correctamente.
ERROR_FILE_NOT_FOUND
La característica no está presente o está rota. este error se devuelve para dwInstallMode = INSTALLMODE_EXISTING.
ERROR_UNKNOWN_COMPONENT
El componente especificado es desconocido.
Error relacionado con una acción
Consulte Códigos de error.
Error de inicialización
Error relacionado con la inicialización.

Comentarios

Tras el éxito de la función MsiProvideQualifiedComponentEx , el parámetro pcchPathBuf contiene la longitud de la cadena en lpPathBuf.

Las características con componentes que contienen un archivo dañado o la versión incorrecta de un archivo deben volver a instalarse explícitamente por el usuario o al hacer que la aplicación llame a MsiReinstallFeature.

Nota

El encabezado msi.h define MsiProvideQualifiedComponentEx 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

Funciones específicas del componente

Mensajes de error mostrados

Códigos de error

Error de inicialización

Instalaciones de varios paquetes