Función MsiOpenPackageExA (msi.h)
La función MsiOpenPackageEx abre un paquete para usarlo con funciones que acceden a la base de datos del producto. Se debe llamar a la función MsiCloseHandle con el identificador cuando el identificador ya no es necesario.
Sintaxis
UINT MsiOpenPackageExA(
[in] LPCSTR szPackagePath,
[in] DWORD dwOptions,
[out] MSIHANDLE *hProduct
);
Parámetros
[in] szPackagePath
La ruta de acceso al paquete.
[in] dwOptions
Marcas de bits para indicar si se omitirá o no el estado del equipo. Pase 0 (cero) para usar el comportamiento MsiOpenPackage .
Constante | Significado |
---|---|
|
Omita el estado del equipo al crear el identificador del producto. |
[out] hProduct
Puntero a una variable que recibe el identificador del producto.
Valor devuelto
Valor | Significado |
---|---|
|
La información de configuración está dañada. |
|
No se pudo abrir el producto. |
|
Windows Installer no permite la instalación desde una conexión a Escritorio remoto. |
|
Se pasa un parámetro no válido a la función . |
|
La función se completa correctamente. |
Si se produce un error en esta función, puede devolver un código de error del sistema. Para obtener más información, vea Códigos de error del sistema.
Comentarios
Para crear un identificador de producto restringido que sea independiente del estado actual de la máquina e incapaz de cambiar el estado de la máquina actual, use MsiOpenPackageEx con MSIOPENPACKAGEFLAGS_IGNOREMACHINESTATE establecido en dwOptions.
Tenga en cuenta que si dwOptions es MSIOPENPACKAGEFLAGS_IGNOREMACHINESTATE o 1, MsiOpenPackageEx omite el estado actual de la máquina al crear el identificador del producto. Si el valor de dwOptions es 0, MsiOpenPackageEx es el mismo que MsiOpenPackage y crea un identificador de producto que depende de si el paquete especificado por szPackagePath ya está instalado en el equipo.
El identificador restringido creado mediante MsiOpenPackageEx con MSIOPENPACKAGEFLAGS_IGNOREMACHINESTATE solo permite la ejecución de diálogos, un subconjunto de las acciones estándar y las acciones personalizadas que establecen propiedades ( Tipo de acción personalizada 35, Tipo de acción personalizada 51 y Tipo de acción personalizada 19). El identificador restringido impide el uso de acciones personalizadas que ejecutan bibliotecas de vínculos dinámicos, archivos ejecutables o scripts.
Puede llamar a MsiDoAction en las siguientes acciones estándar mediante el identificador restringido. Todas las demás acciones devuelven ERROR_FUNCTION_NOT_CALLED si se llama con el identificador restringido.
- ADMINISTRADOR
- ADVERTISE
- INSTALL
- SEQUENCE
- Acción AppSearch
- CCPSearch
- CostFinalize
- CostInitialize
- FileCost
- FindRelatedProducts
- Acción IsolateComponents
- LaunchConditions
- MigrateFeatureStates
- ResolveSource
- RMCCPSearch
- ValidateProductID
Nota
El encabezado msi.h define MsiOpenPackageEx 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 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 |