Compartir a través de


Tipo de acción personalizada 17

Esta acción personalizada llama a una biblioteca de vínculos dinámicos (DLL) escrita en C o C++.

Fuente

El archivo DLL se instala con la aplicación durante la sesión actual. El campo Origen de la tabla CustomAction de contiene una clave para la tabla archivo de . La ubicación del código de acción personalizada viene determinada por la resolución de la ruta de acceso de destino para este archivo; por lo tanto, se debe llamar a esta acción personalizada después de instalar ese archivo y antes de quitarlo.

Valor de tipo

Incluya el siguiente valor en la columna Tipo de la tabla CustomAction para especificar el tipo numérico básico.

Constantes Hexadecimal Decimal
msidbCustomActionTypeDll + msidbCustomActionTypeSourceFile 0x011 17

 

Blanco

El archivo DLL se llama a través del punto de entrada denominado en el campo Destino de la tabla CustomAction, pasando un único argumento que es el identificador de la sesión de instalación actual. El nombre del punto de entrada especificado en la tabla debe coincidir con el exportado desde el archivo DLL. Tenga en cuenta que si un objeto no especifica la función de entrada. Archivo DEF o por una especificación /EXPORT: enlazador, el nombre puede tener un carácter de subrayado inicial y un sufijo "@4". La función llamada debe especificar la convención de llamada __stdcall.

Opciones de procesamiento de devolución

Incluya bits de marca opcionales en la columna Tipo de la tabla CustomAction para especificar las opciones de procesamiento de retorno. Para obtener una descripción de las opciones y los valores, vea Opciones de procesamiento de devolución de acción personalizada.

Opciones de programación de ejecución

Incluya bits de marca opcionales en la columna Tipo de la tabla CustomAction para especificar las opciones de programación de ejecución. Estas opciones controlan la ejecución múltiple de acciones personalizadas. Para obtener una descripción de las opciones, vea Opciones de programación de ejecución de acciones personalizadas.

Opciones de ejecución de In-Script

Incluya bits de marca opcionales en la columna Tipo de la tabla CustomAction para especificar una opción de ejecución en script. Estas opciones copian el código de acción en el script de ejecución, reversión o confirmación. Para obtener una descripción de las opciones, vea Acción personalizada In-Script Opciones de ejecución.

Valores devueltos

Consulte valores devueltos de acción personalizada.

Observaciones

Una acción personalizada que llama a una biblioteca de vínculos dinámicos (DLL) requiere un identificador para la sesión de instalación. Si también se trata de una acción personalizada de ejecución diferida, es posible que la sesión ya no exista durante la ejecución del script de instalación. Para obtener información sobre cómo una acción personalizada de este tipo puede obtener información de contexto, vea Obtener información de contexto para acciones personalizadas de ejecución diferida.

Las acciones personalizadas se ejecutan en un subproceso independiente y pueden tener acceso limitado al sistema. Las acciones personalizadas que se ejecutan de forma asincrónica bloquean el subproceso principal al finalizar la secuencia actual o la sesión de instalación hasta que se devuelven.

Las acciones personalizadas que hacen referencia a un archivo instalado como origen, como custom Action Type 17 (DLL), deben cumplir las siguientes restricciones de secuenciación:

  • La acción personalizada debe secuenciarse después de la acción CostFinalize. Esto es para que la acción personalizada pueda resolver la ruta de acceso necesaria para buscar el archivo DLL.
  • Si el archivo de origen aún no está instalado en el equipo, las acciones personalizadas diferidas (en script) de este tipo deben secuenciarse después de la acción InstallFiles de .
  • Si el archivo de origen aún no está instalado en el equipo, las acciones personalizadas no diferidas de este tipo deben secuenciarse después de la acción InstallFinalize de .

Custom_Actions

acciones personalizadas de ejecución diferida

Dynamic-Link bibliotecas de