Función MsiDeterminePatchSequenceA (msi.h)
La función MsiDeterminePatchSequence toma un conjunto de archivos de revisión, archivos XML y blobs XML y determina la mejor secuencia de aplicación para las revisiones a un producto instalado especificado. Esta función tiene en cuenta las revisiones que ya se han aplicado al producto y las cuentas de revisiones obsoletas y reemplazadas.
Sintaxis
UINT MsiDeterminePatchSequenceA(
[in] LPCSTR szProductCode,
[in, optional] LPCSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] DWORD cPatchInfo,
[in] PMSIPATCHSEQUENCEINFOA pPatchInfo
);
Parámetros
[in] szProductCode
Producto que es el destino del conjunto de revisiones. El valor debe ser el GUID de ProductCode para el producto.
[in, optional] szUserSid
Cadena terminada en NULL que especifica un identificador de seguridad (SID) de un usuario. Este parámetro restringe el contexto de enumeración de esta cuenta de usuario. Este parámetro no puede ser las cadenas de SID especiales "S-1-1-0" (todos) o "S-1-5-18" (sistema local). Para el contexto de la máquina dwContext se establece en MSIINSTALLCONTEXT_MACHINE y szUserSid debe ser NULL. Para el contexto de usuario actual szUserSid puede ser null y dwContext se puede establecer en MSIINSTALLCONTEXT_USERMANAGED o MSIINSTALLCONTEXT_USERUNMANAGED.
[in] dwContext
Restringe la enumeración a un contexto por usuario no administrado, administrado por usuario o por máquina. Este parámetro puede ser cualquiera de los siguientes valores.
[in] cPatchInfo
Número de revisiones de la matriz.
[in] pPatchInfo
Puntero a una matriz de estructuras de MSIPATCHSEQUENCEINFO.
Valor devuelto
La función
Valor | Significado |
---|---|
|
Error en la función de una manera no cubierta en los otros códigos de error. |
|
Un argumento no es válido. |
|
No se encontró ninguna secuencia válida para el conjunto de revisiones. |
|
No se puede abrir un paquete de instalación al que hace referencia la ruta de acceso. |
|
Las revisiones se ordenaron correctamente. |
|
No se encontró el archivo .msi. |
|
No se encontró la ruta de acceso al archivo .msi. |
|
Los datos de revisión XML no son válidos. |
|
El paquete de instalación no era válido. |
|
Un usuario que no es un administrador intentó llamar a la función con un contexto de otro usuario. |
|
Los datos de configuración de una revisión registrada o un producto no son válidos. |
|
El ProductCode GUID especificado no está registrado. |
|
Se requiere Windows Installer versión 3.0 para determinar la mejor secuencia de revisión. Se llamó a la función con szProductCode aún no instalado con Windows Installer versión 3.0. |
|
Este error se puede devolver si se llamó a la función desde un acción personalizada o si MSXML 3.0 no está instalado. |
|
La revisión especificada es desconocida. |
Observaciones
Los usuarios que no tienen privilegios de administrador pueden llamar a esta función solo en su propio contexto de máquina o . Los usuarios que son administradores pueden llamarlo para otros usuarios.
Si se llama a esta función desde una acción personalizada, se produce un error y devuelve ERROR_CALL_NOT_IMPLEMENTED. La función requiere MSXML versión 3.0 para procesar XML y devuelve ERROR_CALL_NOT_IMPLEMENTED si MSXML 3.0 no está instalado.
La función
Si la función se ejecuta correctamente, el MSIPATCHSEQUENCEINFO estructura de cada revisión que se puede aplicar al producto devuelve con una uStatus de ERROR_SUCCESS y un dwOrder mayor o igual que cero. Los valores de dwOrder mayor o igual que cero indican la mejor secuencia de aplicación para las revisiones a partir de cero.
Si la función se ejecuta correctamente, las revisiones excluidas de la mejor secuencia de aplicación de revisiones devuelven una estructura MSIPATCHSEQUENCEINFO con un dwOrder igual a -1. En estos casos, un uStatus campo de ERROR_SUCCESS indica una revisión obsoleta o reemplazada para el producto. Un campo uStatus de ERROR_PATCH_TARGET_NOT_FOUND indica una revisión que no se puede aplicar al producto.
Si se produce un error en la función, la estructura de
Nota
El encabezado msi.h define MsiDeterminePatchSequence 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. 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
no compatibles con Windows Installer 2.0 y versiones anteriores