Compartir a través de


Acciones personalizadas de ejecución diferida

El propósito de una acción personalizada de ejecución diferida es retrasar la ejecución de un cambio del sistema a la hora en que se ejecuta el script de instalación. Esto difiere de una acción personalizada normal o una acción estándar, en la que el instalador ejecuta la acción inmediatamente después de encontrarla en una tabla de secuencia o en una llamada a MsiDoAction. Una acción personalizada de ejecución diferida permite a un autor del paquete especificar las operaciones del sistema en un punto determinado dentro de la ejecución del script de instalación.

El instalador no ejecuta una acción personalizada de ejecución diferida en el momento en que se procesa la secuencia de instalación. En su lugar, el instalador escribe la acción personalizada en el script de instalación. El único parámetro de modo que establece el instalador en este caso es MSIRUNMODE_SCHEDULED. Consulte MsiGetMode para obtener una descripción de los parámetros del modo de ejecución.

Una acción personalizada de ejecución diferida debe programarse en la tabla de secuencia de ejecución dentro de la sección que realiza la generación de scripts. Las acciones personalizadas de ejecución diferida deben aparecer después de installInitialize y venir antes de InstallFinalize en la secuencia de acciones.

Las acciones personalizadas que establecen propiedades, estados de características, estados de componente o directorios de destino, o que programan las operaciones del sistema insertando filas en tablas de secuencia, pueden, en muchos casos, usar la ejecución inmediata de forma segura. Sin embargo, las acciones personalizadas que cambian el sistema directamente o llaman a otro servicio del sistema, deben aplazarse a la hora en que se ejecuta el script de instalación. Consulte acciones personalizadas sincrónicas y asincrónicas para obtener más información sobre posibles conflictos entre sus acciones personalizadas y el subproceso de instalación principal.

Dado que el script de instalación se puede ejecutar fuera de la sesión de instalación en la que se escribió, es posible que la sesión ya no exista durante la ejecución del script de instalación. Esto significa que el identificador de sesión original y el conjunto de datos de propiedades durante la secuencia de instalación no están disponibles para una acción personalizada de ejecución diferida. Las acciones personalizadas diferidas que llaman a bibliotecas de vínculos dinámicos (DLL) pasan un identificador que solo se puede usar para obtener una cantidad muy limitada de información, como se describe en Obtener información de contexto para acciones personalizadas de ejecución diferida.

Tenga en cuenta que las acciones personalizadas diferidas, incluidas las acciones personalizadas de reversión y confirmar acciones personalizadas, son los únicos tipos de acciones que se pueden ejecutar fuera del contexto de seguridad de los usuarios.

opciones de ejecución de In-Script acción personalizada

referencia de acción personalizada