Función MsiSourceListSetInfoA (msi.h)

La función MsiSourceListSetInfo establece información sobre la lista de origen de un producto o revisión en un contexto específico.

Sintaxis

UINT MsiSourceListSetInfoA(
  [in]           LPCSTR            szProductCodeOrPatchCode,
  [in, optional] LPCSTR            szUserSid,
  [in]           MSIINSTALLCONTEXT dwContext,
  [in]           DWORD             dwOptions,
  [in]           LPCSTR            szProperty,
  [in]           LPCSTR            szValue
);

Parámetros

[in] szProductCodeOrPatchCode

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, se produce un error en la función 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 se 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 indica 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
Especifica la enumeración de un usuario determinado en el 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. Al establecer el valor del 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 los usuarios). 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 valores siguientes.

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 no administrado por usuario.
MSIINSTALLCONTEXT_MACHINE
La instancia de producto o revisión existe en el contexto por máquina.

[in] dwOptions

El valor dwOptions especifica el significado de szProductCodeOrPatchCode.

Si la propiedad que se establece es "LastUsedSource", este parámetro también especifica el tipo de origen como red o dirección URL. En este caso, el parámetro dwOptions debe ser una combinación de una de las siguientes constantes MSISOURCETYPE_ y una de las siguientes MSICODE_ constantes.

Marca 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 GUID de código de producto.
MSICODE_PATCH
szProductCodeOrPatchCode es un GUID de código de revisión.

[in] szProperty

El parámetro szProperty indica el valor de propiedad que se va a establecer. No todas las propiedades que se pueden recuperar a través de MsiSourceListGetInfo se pueden establecer mediante una llamada a MsiSourceListSetInfo. El valor szProperty puede ser uno de los valores siguientes.

Nombre Significado
INSTALLPROPERTY_MEDIAPACKAGEPATH
"MediaPackagePath"
Ruta de acceso relativa a la raíz del medio de instalación.
INSTALLPROPERTY_DISKPROMPT
"DiskPrompt"
La plantilla de solicitud usada al solicitar al usuario los medios de instalación.
INSTALLPROPERTY_LASTUSEDSOURCE
"LastUsedSource"
La ubicación de origen usada más recientemente para el producto. Si el origen no está registrado, la función llama a MsiSourceListAddSourceEx para registrarlo. Cuando el registro se realiza correctamente, la función establece el origen como LastUsedSource.
INSTALLPROPERTY_PACKAGENAME
"PackageName"
Nombre del paquete de Windows Installer o paquete de revisión en el origen.

[in] szValue

Nuevo valor de la propiedad. No se realiza ninguna validación del nuevo valor. Este valor no puede ser NULL. Puede ser una cadena vacía.

Valor devuelto

La función MsiSourceListSetInfo devuelve los valores siguientes.

Value Significado
ERROR_ACCESS_DENIED
El usuario no tiene la capacidad de establecer la lista de origen del producto especificado.
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_INVALID_PARAMETER
Se pasó un parámetro no válido a la función .
ERROR_SUCCESS
Se estableció la propiedad .
ERROR_UNKNOWN_PATCH
No se encontró la revisión.
ERROR_UNKNOWN_PRODUCT
No se encontró el producto.
ERROR_UNKNOWN_PROPERTY
No se encontró la propiedad de origen.
ERROR_FUNCTION_FAILED
Error interno inesperado.

Comentarios

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 no administrado por usuario de otro usuario.

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 un producto o una instancia de revisión que existe en su propio contexto no administrado por usuario. 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 origen de revisión o producto. Los usuarios se pueden habilitar para buscar orígenes estableciendo la directiva . Para obtener más información, consulte las directivas DisableBrowse, AllowLockdownBrowse y AlwaysInstallElevated .

Una excepción a la regla anterior es establecer "LastUsedSource" en uno de los orígenes registrados. Si el origen ya está registrado, un no administrador puede establecer "LastUsedSource" en sus propias instalaciones (administradas o no administradas) y por máquina, independientemente de las directivas.

Nota

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

   
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. Consulta Windows Installer Run-Time Requisitos para obtener información sobre el Service Pack mínimo de Windows que necesita una versión de Windows Installer.
Plataforma de destino Windows
Encabezado msi.h
Library Msi.lib
Archivo DLL Msi.dll

Consulte también

Contexto de instalación

MsiSourceListGetInfo

No se admite en Windows Installer 2.0 y versiones anteriores

ProductCode