Compartir a través de


Función MsiSourceListAddSourceExA (msi.h)

La función MsiSourceListAddSourceEx agrega o reordena el conjunto de orígenes de una revisión o producto en un contexto especificado. También puede crear una lista de origen para una revisión que no exista en el contexto especificado.

Sintaxis

UINT MsiSourceListAddSourceExA(
  [in]           LPCSTR            szProductCodeOrPatchCode,
  [in, optional] LPCSTR            szUserSid,
  [in]           MSIINSTALLCONTEXT dwContext,
  [in]           DWORD             dwOptions,
  [in]           LPCSTR            szSource,
  [in, optional] DWORD             dwIndex
);

Parámetros

[in] szProductCodeOrPatchCode

El ProductCode o guid de revisión del producto o revisión. Use una cadena terminada en NULL. Si la cadena tiene más de 39 caracteres, la función produce un error y devuelve ERROR_INVALID_PARAMETER. Este parámetro no puede ser NULL.

[in, optional] szUserSid

Este parámetro puede ser un SID de cadena que especifica la cuenta de usuario que contiene el producto o la revisión. El SID no se valida ni resuelve. Un SID incorrecto puede devolver ERROR_UNKNOWN_PRODUCT o ERROR_UNKNOWN_PATCH. Al hacer referencia a un contexto de máquina, szUserSID debe ser NULL y dwContext debe ser MSIINSTALLCONTEXT_MACHINE.

Tipo de SID Significado
NULL
NULL denota el usuario que ha iniciado sesión actualmente. Al hacer referencia a la cuenta de usuario actual, szUserSID puede ser NULL y dwContext puede ser MSIINSTALLCONTEXT_USERMANAGED o MSIINSTALLCONTEXT_USERUNMANAGED.
siD de usuario de
Especifica la enumeración de un usuario determinado del sistema. Un ejemplo de SID de usuario es "S-1-3-64-2415071341-1358098788-3127455600-2561".
 
Nota La cadena de SID especial s-1-5-18 (sistema) no se puede usar para enumerar productos o revisiones instalados según la máquina. Si se establece el valor de SID en "S-1-5-18" se devuelve ERROR_INVALID_PARAMETER.
 
Nota No se debe usar la cadena de SID especial s-1-1-0 (todos). Se produce un error al establecer el valor del SID en "S-1-1-0" y devuelve ERROR_INVALID_PARAM.
 

[in] dwContext

Este parámetro especifica el contexto de la instancia de producto o revisión. Este parámetro puede contener uno de los siguientes valores.

Tipo de contexto Significado
MSIINSTALLCONTEXT_USERMANAGED
La instancia de producto o revisión existe en el contexto administrado por usuario.
MSIINSTALLCONTEXT_USERUNMANAGED
La instancia de producto o revisión existe en el contexto por usuario no administrado.
MSIINSTALLCONTEXT_MACHINE
La instancia de producto o revisión existe en el contexto por máquina.

[in] dwOptions

El valor de dwOptions determina la interpretación de la szProductCodeOrPatchCode valor y el tipo de orígenes que se van a borrar. Este parámetro debe ser una combinación de una de las siguientes constantes MSISOURCETYPE_ y una de las siguientes MSICODE_ constantes.

Bandera Significado
MSISOURCETYPE_NETWORK
El origen es un tipo de red.
MSISOURCETYPE_URL
El origen es un tipo de dirección URL.
MSICODE_PRODUCT
szProductCodeOrPatchCode es un código de producto.
MSICODE_PATCH
szProductCodeOrPatchCode es un código de revisión.

[in] szSource

Origen que se va a agregar o mover. Se espera que este parámetro contenga solo la ruta de acceso sin el nombre de archivo. El nombre de archivo ya está registrado como "PackageName" y se puede manipular a través de MsiSourceListSetInfo. Este argumento es obligatorio.

[in, optional] dwIndex

Este parámetro proporciona el nuevo índice para el origen. Todos los orígenes se indexan en la lista de origen de 1 a N, donde N es el recuento de orígenes de la lista. Cada origen de la lista tiene un índice único.

Si se llama a msiSourceListAddSourceEx con un nuevo origen y dwIndex establecido en 0 (cero), el nuevo origen se anexa a la lista existente. Si dwIndex está establecido en 0 y el origen ya existe en la lista, no se realiza ninguna actualización en la lista.

Si se llama MsiSourceListAddSourceEx con un nuevo origen y dwIndex establecer en un valor distinto de cero menor que count (N), el nuevo origen se coloca en el índice especificado y los demás orígenes se vuelven a indexar. Si el origen ya existe, se mueve al índice especificado y los demás orígenes se vuelven a indexar.

Si msiSourceListAddSourceEx se llama con un nuevo origen y dwIndex establecido en un valor distinto de cero mayor que el recuento de orígenes (N), el nuevo origen se anexa a la lista existente. Si el origen ya existe, se mueve al final de la lista y se vuelven a indexar los demás orígenes.

Valor devuelto

La función MsiSourceListAddSourceEx devuelve los valores siguientes.

Valor Significado
ERROR_ACCESS_DENIED
El usuario no tiene la capacidad de agregar o mover un origen. No indica si se encontró el producto o la revisión.
ERROR_BAD_CONFIGURATION
Los datos de configuración están dañados.
ERROR_INSTALL_SERVICE_FAILURE
No se pudo acceder al servicio Windows Installer.
ERROR_SUCCESS
El origen se insertó o actualizó.
ERROR_UNKNOWN_PRODUCT
El producto especificado es desconocido.
ERROR_UNKNOWN_PATCH
La revisión especificada es desconocida.
ERROR_FUNCTION_FAILED
Error interno inesperado.

Observaciones

Los administradores pueden modificar la instalación de una instancia de producto o revisión que existe en el contexto de la máquina o en su propio contexto por usuario (administrado o no administrado). Pueden modificar la instalación de una instancia de producto o revisión que existe en el contexto administrado por usuario de cualquier usuario. Los administradores no pueden modificar la instalación de otro usuario de una instancia de producto o revisión que exista en ese contexto por usuario no administrado.

Los no administradores no pueden modificar la instalación de una instancia de producto o revisión que existe en el contexto por usuario de otro usuario (administrado o no administrado). Pueden modificar la instalación de una instancia de producto o revisión que existe bajo su propio contexto por usuario y no administrado. Pueden modificar la instalación de un producto o una instancia de revisión en el contexto de la máquina o su propio contexto administrado por usuario solo si están habilitados para buscar un producto o origen de revisión. Los usuarios se pueden habilitar para buscar orígenes estableciendo la directiva . Para obtener más información, consulte la DisableBrowse, AllowLockdownBrowsey directivas de AlwaysInstallElevated.

Nota

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

AllowLockdownBrowse

alwaysInstallElevated

disableBrowse

MsiSourceListSetInfo

no compatibles con Windows Installer 2.0 y versiones anteriores

productCode

de resistencia de origen