Type d’action personnalisée 17

Cette action personnalisée appelle une bibliothèque de liens dynamiques (DLL) écrite en C ou C++.

Source

La DLL est installée avec l’application pendant la session active. Le champ source de la table CustomAction contient une clé de la table de fichiers. L’emplacement du code d’action personnalisé est déterminé par la résolution du chemin d’accès cible de ce fichier ; par conséquent, cette action personnalisée doit être appelée une fois que ce fichier a été installé et avant d’être supprimé.

Valeur de type

Incluez la valeur suivante dans la colonne type de la table CustomAction pour spécifier le type numérique de base.

Constantes Valeur hexadécimale Decimal
msidbCustomActionTypeDll + msidbCustomActionTypeSourceFile 0x011 17

Cible

La DLL est appelée à l’aide du point d’entrée nommé dans le champ cible de la table CustomAction, en passant un argument unique qui est le descripteur à la session d’installation actuelle. Le nom du point d’entrée spécifié dans la table doit correspondre à celui exporté à partir de la DLL. Notez que si la fonction d’entrée n’est pas spécifiée par un. Fichier DEF ou d’une spécification/EXPORT : linker, le nom peut avoir un trait de soulignement de début et un @4 suffixe «». La fonction appelée doit spécifier la _ _ Convention d’appel StdCall.

Options de traitement des retours

Incluez les bits d’indicateur facultatifs dans la colonne type de la table CustomAction pour spécifier les options de traitement des retours. Pour obtenir une description des options et des valeurs, consultez options de traitement des retours d’actions personnalisées.

Options de planification de l’exécution

Incluez les bits d’indicateur facultatifs dans la colonne type de la table CustomAction pour spécifier les options de planification de l’exécution. Ces options contrôlent l’exécution multiple des actions personnalisées. Pour obtenir une description des options, consultez options de planification de l’exécution des actions personnalisées.

In-Script les options d’exécution

Incluez des bits d’indicateur facultatifs dans la colonne type de la table CustomAction pour spécifier une option d’exécution in-script. Ces options copient le code d’action dans le script d’exécution, de restauration ou de validation. Pour obtenir une description des options, consultez action personnalisée In-Script options d’exécution.

Valeurs de retour

Consultez valeurs de retour de l’action personnalisée.

Notes

Une action personnalisée qui appelle une bibliothèque de liens dynamiques (DLL) requiert un handle pour la session d’installation. S’il s’agit également d’une action personnalisée d’exécution différée, la session n’existe peut-être plus pendant l’exécution du script d’installation. Pour plus d’informations sur la façon dont une action personnalisée de ce type peut obtenir des informations de contexte, consultez obtention d’informations de contexte pour les actions personnalisées d’exécution différée.

Les actions personnalisées s’exécutent dans un thread distinct et peuvent avoir un accès limité au système. Les actions personnalisées qui s’exécutent de façon asynchrone bloquent le thread principal à l’arrêt de la séquence actuelle ou de la session d’installation jusqu’à ce qu’elles retournent.

Les actions personnalisées qui font référence à un fichier installé comme source, telles que le type d’action personnalisé 17 (DLL), doivent respecter les restrictions de séquencement suivantes :

  • L’action personnalisée doit être séquencée après l' action CostFinalize. Cela permet à l’action personnalisée de résoudre le chemin d’accès nécessaire pour localiser la DLL.
  • Si le fichier source n’est pas déjà installé sur l’ordinateur, les actions personnalisées différées (dans le script) de ce type doivent être séquencées après l' action InstallFiles.
  • Si le fichier source n’est pas déjà installé sur l’ordinateur, les actions personnalisées non différées de ce type doivent être séquencées après l' action InstallFinalize.

Actions personnalisées _

Actions personnalisées d’exécution différée

Bibliothèques de liens dynamiques