Función MsiProvideComponentA (msi.h)
La función
Sintaxis
UINT MsiProvideComponentA(
[in] LPCSTR szProduct,
[in] LPCSTR szFeature,
[in] LPCSTR szComponent,
[in] DWORD dwInstallMode,
[out] LPSTR lpPathBuf,
[in, out] LPDWORD pcchPathBuf
);
Parámetros
[in] szProduct
Especifica el código de producto del producto que contiene la característica con el componente necesario.
[in] szFeature
Especifica el identificador de característica de la característica con el componente necesario.
[in] szComponent
Especifica el código de componente del componente necesario.
[in] dwInstallMode
Define el modo de instalación. Este parámetro puede ser uno de los siguientes valores.
Valor | Significado |
---|---|
|
Proporcione el componente y realice cualquier instalación necesaria para proporcionar el componente. Si falta el archivo de clave de un componente en 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. |
|
Proporcione el componente solo si existe la característica. De lo contrario, devuelve ERROR_FILE_NOT_FOUND.
Este modo comprueba que el archivo de clave del componente existe. |
|
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 existe el archivo de clave del componente. |
|
Llame a MsiReinstallFeature para volver a instalar la característica mediante este parámetro para el parámetro dwReinstallMode y proporcione el componente. |
|
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 existe. |
[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 |
---|---|
|
Los datos de configuración están dañados. |
|
La característica está ausente o roto. este error se devuelve para dwInstallMode = INSTALLMODE_EXISTING. |
|
Error en la instalación. |
|
El componente que se solicita está deshabilitado en el equipo. |
|
Se pasó un parámetro no válido a la función . |
|
La función se completó correctamente. |
|
El identificador de característica no identifica una característica conocida. |
|
El código del producto no identifica un producto conocido. |
|
Se pasó un producto no reconocido o un nombre de característica a la función. |
|
Se devuelve el desbordamiento del búfer. |
|
No se puede detectar un origen. |
Para obtener más información, vea Mensajes de error mostrados.
Observaciones
Tras el éxito de la función
La función
Si la aplicación se está recuperando de una situación inesperada, es probable que la aplicación ya haya llamado a MsiUseFeature e incrementó el recuento de uso. En este caso, la aplicación debe llamar a msiConfigureFeature en lugar de msiProvideComponent para evitar aumentar el recuento de nuevo.
La opción INSTALLMODE_EXISTING no se puede usar en combinación con la marca REINSTALLMODE.
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 tener la llamada a la aplicación MsiReinstallFeature.
Nota
El encabezado msi.h define MsiProvideComponent 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. Windows Installer en Windows Server 2003 o Windows XP. 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
instalaciones de