Type d’action personnalisé 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é pour la table Fichier. L’emplacement du code d’action personnalisé est déterminé par la résolution du chemin d’accès cible pour ce fichier ; par conséquent, cette action personnalisée doit être appelée après l’installation de ce fichier et avant sa suppression.
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 | Hexadécimal | Décimal |
---|---|---|
msidbCustomActionTypeDll + msidbCustomActionTypeSourceFile | 0x011 | 17 |
Cible
La DLL est appelée par le biais du point d’entrée nommé dans le champ Cible de la table CustomAction, en passant un seul argument qui est le handle à 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 par une spécification /EXPORT : éditeur de liens, le nom peut avoir un trait de soulignement de début et un suffixe « @4 ». La fonction appelée doit spécifier la convention d’appel __stdcall.
Options de traitement de retour
Incluez des bits d’indicateur facultatifs dans la colonne Type de la table CustomAction pour spécifier les options de traitement de retour. Pour obtenir une description des options et des valeurs, consultez Options de retour de retour d’action personnalisée.
Options de planification d’exécution
Incluez des bits d’indicateur facultatifs dans la colonne Type de la table CustomAction pour spécifier les options de planification d’exécution. Ces options contrôlent l’exécution multiple d’actions personnalisées. Pour obtenir une description des options, consultez options de planification d’exécution d’actions personnalisées.
options d’exécution In-Script
Incluez des bits d’indicateur facultatifs dans la colonne Type de la table CustomAction pour spécifier une option d’exécution dans le script. Ces options copient le code d’action dans l’exécution, la restauration ou le script 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 d’action personnalisées.
Remarques
Une action personnalisée qui appelle une bibliothèque de liens dynamiques (DLL) nécessite 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 peut ne plus exister 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 manière 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 référencent un fichier installé comme source, comme 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. C’est pourquoi l’action personnalisée peut 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 (en 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.
Rubriques connexes