Partager via


Type d’action personnalisé 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é pour la table binaire .

La colonne Données de la table binaire contient les données de flux. Un flux distinct est alloué pour chaque ligne. Les nouvelles données binaires peuvent être insérées à partir d’un fichier à l’aide de MsiRecordSetStream suivie de MsiViewModify pour insérer l’enregistrement dans la table. Lorsque 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 de type

Incluez les bits d’indicateur suivants dans la colonne Type de la table CustomAction pour spécifier le type numérique de base.

Constantes Hexadécimal Décimal
msidbCustomActionTypeDll + msidbCustomActionTypeBinaryData 0x001 1

 

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.

Lorsqu’une table de base de données est exportée, chaque flux est écrit sous la forme d’un fichier distinct dans le sous-dossier nommé après la table, en utilisant la clé primaire comme nom de fichier (colonne Name pour la table binaire), avec une extension par défaut de « ibd ». Le nom doit utiliser le format 8.3 si le système de fichiers ou le système de contrôle de version ne prend pas en charge les noms de fichiers longs. Le fichier d’archivage persistant remplace les données de flux par le nom de fichier utilisé, afin que les données puissent être localisées lorsque la table est importée.

Custom_Actions

bibliothèques Dynamic-Link

obtenir des informations de contexte pour les actions personnalisées d’exécution différées