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++.
Source
El archivo DLL se instala con la aplicación durante la sesión actual. El campo Origen de la tabla CustomAction contiene una clave para la tabla File. 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 del tipo
Incluya el valor siguiente en la columna Type de la tabla CustomAction para especificar el tipo numérico básico.
Constantes | Hexadecimal | Decimal |
---|---|---|
msidbCustomActionTypeDll + msidbCustomActionTypeSourceFile | 0x011 | 17 |
Destino
El archivo DLL se llama mediante el punto de entrada denominado en el campo Target de la tabla CustomAction, pasando un único argumento que es el identificador a 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 la función de entrada no la especifica un archivo .DEF o una especificación de vinculador /EXPORT:, el nombre puede estar precedido por un carácter de subrayado y tener un sufijo "@4". La función a la que se llama debe especificar la convención de llamada __stdcall.
Opciones de procesamiento de devolución
Incluya bits de marca opcionales en la columna Type de la tabla CustomAction para especificar las opciones de procesamiento de devolución. Para ver una descripción de las opciones y los valores, consulte 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 Type 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, consulte Opciones de programación de ejecución de acciones personalizadas.
Opciones de ejecución en script
Incluya bits de marca opcionales en la columna Type de la tabla CustomAction para especificar las opciones 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, consulte Opciones de ejecución de acciones personalizadas en script.
Valores devueltos
Consulte Valores devueltos de acción personalizada.
Comentarios
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, consulte Obtención de 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 en la finalización de 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 el tipo de acción personalizada 17 (DLL), deben cumplir estas 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 localizar 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.
- 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.
Temas relacionados