Type d’action personnalisée 1
Cette action personnalisée appelle une bibliothèque de liens dynamiques (DLL) écrite en C ou C++.
Source
La DLL est générée à partir d’un flux binaire temporaire. Le champ Source de la table CustomAction contient une clé de la table Binary.
La colonne Data de la table Binary contient les données de flux. Un flux distinct est alloué pour chaque ligne. Vous pouvez insérer de nouvelles données binaires à partir d’un fichier en utilisant MsiRecordSetStream suivi de MsiViewModify pour insérer l’enregistrement dans la table. Quand l’action personnalisée est appelée, les données de flux sont copiées dans un fichier temporaire, qui est ensuite traité en fonction du type d’action personnalisée.
Valeur du type
Ajoutez les bits d’indicateur suivants dans la colonne Type de la table CustomAction pour spécifier le type numérique de base.
Constantes | Valeur hexadécimale | Decimal |
---|---|---|
msidbCustomActionTypeDll + msidbCustomActionTypeBinaryData | 0x001 | 1 |
Cible
La DLL est appelée par le biais du point d’entrée nommé dans le champ Target de la table CustomAction, en passant un argument unique qui est le descripteur de la session d’installation active. 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: de l’éditeur de liens, le nom peut commencer par un trait de soulignement et avoir un suffixe « @4 ». La fonction appelée doit spécifier la convention d’appel __stdcall.
Options de traitement du retour
Ajoutez des bits d’indicateur facultatifs dans la colonne Type de la table CustomAction pour spécifier les options de traitement du retour. Pour obtenir une description des options et des valeurs, consultez Options de traitement du retour des actions personnalisées.
Options de planification de l’exécution
Ajoutez des 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 les différentes exécutions des actions personnalisées. Pour obtenir une description des options, consultez Options de planification de l’exécution des actions personnalisées.
Options d’exécution dans le script
Ajoutez 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 le script d’exécution, de restauration ou de commit. Pour obtenir une description des options, consultez Options d’exécution dans le script des actions personnalisées.
Valeurs de retour
Consultez Valeurs de retour des actions personnalisées.
Notes
Une action personnalisée qui appelle une bibliothèque de liens dynamiques (DLL) nécessite un descripteur pour la session d’installation. S’il s’agit aussi d’une action personnalisée à exécution différée, la session peut ne plus exister au moment de 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 à exécution différée.
Quand une table de base de données est exportée, chaque flux est écrit dans un fichier distinct dans le sous-dossier nommé d’après la table, en utilisant la clé primaire comme nom de fichier (colonne Name pour la table Binary), avec l’extension par défaut « .ibd ». Le nom doit utiliser le format 8.3 si le système de fichiers ou le système de gestion de versions ne prend pas en charge les noms de fichier longs. Le fichier d’archive persistant remplace les données de flux par le nom de fichier utilisé, afin que les données puissent être localisées pendant l’importation de la table.
Rubriques connexes