Compartir a través de


Función MsiAdvertiseScriptA (msi.h)

La función MsiAdvertiseScript copia un archivo de script anunciado en las ubicaciones especificadas.

Sintaxis

UINT MsiAdvertiseScriptA(
  [in] LPCSTR szScriptFile,
  [in] DWORD  dwFlags,
  [in] PHKEY  phRegData,
  [in] BOOL   fRemoveItems
);

Parámetros

[in] szScriptFile

Ruta de acceso completa a un archivo de script generado por MsiAdvertiseProduct o MsiAdvertiseProductEx.

[in] dwFlags

Las marcas de bits siguientes del anuncio de control SCRIPTFLAGS. El valor de dwFlags puede ser una combinación de los valores siguientes.

Marca Significado
SCRIPTFLAGS_CACHEINFO
0x001
Incluya esta marca si es necesario crear o quitar iconos.
SCRIPTFLAGS_SHORTCUTS
0x004
Incluya esta marca si es necesario crear o quitar accesos directos.
SCRIPTFLAGS_MACHINEASSIGN
0x008
Incluya esta marca si el producto que se va a asignar a un equipo.
SCRIPTFLAGS_REGDATA_CNFGINFO
0x020
Incluya esta marca si es necesario escribir o quitar la información de configuración y administración de los datos del Registro.
SCRIPTFLAGS_VALIDATE_TRANSFORMS_LIST
0x040
Incluya esta marca para forzar la validación de las transformaciones enumeradas en el script en las transformaciones registradas previamente para este producto. Tenga en cuenta que los conflictos de transformación se detectan mediante una comparación de cadenas que no distingue mayúsculas de minúsculas y se evalúan entre las instalaciones por usuario y por máquina en todos los contextos. Si la lista de transformaciones del script no coincide con las transformaciones registradas para el producto, la función devuelve ERROR_INSTALL_TRANSFORM_FAILURE.
SCRIPTFLAGS_REGDATA_CLASSINFO
0x080
Incluya esta marca si es necesario escribir o quitar información del anuncio en el Registro relacionada con las clases COM.
SCRIPTFLAGS_REGDATA_EXTENSIONINFO
0x100
Incluya esta marca si es necesario escribir o quitar información del anuncio en el Registro relacionada con una extensión.
SCRIPTFLAGS_REGDATA_APPINFO
0x180
Incluya esta marca si es necesario escribir o quitar la información del anuncio en el Registro.
SCRIPTFLAGS_REGDATA
0x1A0
Incluya esta marca si es necesario escribir o quitar la información del anuncio en el Registro.

[in] phRegData

Clave del Registro en la que se escribirá información temporal sobre los datos del Registro. Si este parámetro es null, los datos del Registro se colocan bajo la clave adecuada, en función de si el anuncio es por usuario o por máquina. Si este parámetro no es NULL, el script escribirá los datos del Registro en la clave del Registro especificada en lugar de en la ubicación normal. En este caso, la aplicación no se anunciará al usuario.

Tenga en cuenta que esta clave del Registro no se puede usar al generar un anuncio de un producto para un usuario o un equipo porque el proveedor de la clave del Registro normalmente elimina la clave. La clave del Registro se encuentra fuera de las ubicaciones normales del Registro para la información de configuración de shell, clase y .msi y no está en HKEY_CLASSES_ROOT. Esta clave del Registro solo está pensada para obtener información temporal sobre los datos del Registro en un script.

[in] fRemoveItems

TRUE si se van a quitar los elementos especificados en lugar de crearse.

Valor devuelto

Valor Significado
ERROR_SUCCESS
Si se devuelve este valor, significa que la función se completó correctamente.
ERROR_ACCESS_DENIED
El proceso de llamada no se estaba ejecutando en la cuenta LocalSystem.
Un error relacionado con una acción
Consulte Códigos de error.
Error de inicialización
Error relacionado con la inicialización.
ERROR_CALL_NOT_IMPLEMENTED
Esta función solo está disponible en Windows 2000 y Windows XP.
 
 

Comentarios

El proceso que llama a esta función debe ejecutarse en la cuenta LocalSystem. Para anunciar una aplicación para la instalación por usuario a un usuario de destino, el subproceso que llama a esta función debe suplantar al usuario de destino. Si el subproceso que llama a esta función no suplanta a un usuario de destino, la aplicación se anuncia a todos los usuarios para su instalación con privilegios elevados.

Nota:

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

   
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

Consulte también

Contexto de instalación