Actions personnalisées d’exécution différée
L’objectif d’une action personnalisée d’exécution différée consiste à retarder l’exécution d’une modification du système au moment où le script d’installation est exécuté. Cela diffère d’une action personnalisée régulière ou d’une action standard, dans laquelle le programme d’installation exécute immédiatement l’action lors de sa rencontre dans une table de séquences ou dans un appel à MsiDoAction. Une action personnalisée d’exécution différée permet à un auteur de package de spécifier des opérations système à un point particulier dans l’exécution du script d’installation.
Le programme d’installation n’exécute pas d’action personnalisée d’exécution différée au moment où la séquence d’installation est traitée. Au lieu de cela, le programme d’installation écrit l’action personnalisée dans le script d’installation. Le seul paramètre de mode que le programme d’installation définit dans ce cas est MSIRUNMODE_SCHEDULED. Consultez msiGetMode pour obtenir une description des paramètres du mode d’exécution.
Une action personnalisée d’exécution différée doit être planifiée dans la table de séquences d’exécution dans la section qui exécute la génération de script. Les actions personnalisées d’exécution différées doivent être effectuées après InstallInitialize et avant InstallFinalize dans la séquence d’actions.
Les actions personnalisées qui définissent des propriétés, des états de fonctionnalités, des états de composant ou des répertoires cibles, ou qui planifient des opérations système en insérant des lignes dans des tables de séquences, peuvent, dans de nombreux cas, utiliser l’exécution immédiate en toute sécurité. Toutefois, les actions personnalisées qui modifient directement le système ou appellent un autre service système doivent être différées au moment où le script d’installation est exécuté. Consultez actions personnalisées synchrones et asynchrones pour plus d’informations sur les conflits potentiels entre leurs actions personnalisées et le thread d’installation principal.
Étant donné que le script d’installation peut être exécuté en dehors de la session d’installation dans laquelle il a été écrit, la session peut ne plus exister pendant l’exécution du script d’installation. Cela signifie que le handle de session d’origine et le jeu de données de propriété pendant la séquence d’installation ne sont pas disponibles pour une action personnalisée d’exécution différée. Les actions personnalisées différées qui appellent des bibliothèques de liens dynamiques (DLL) passent un handle qui ne peut être utilisé que pour obtenir une quantité d’informations très limitée, comme décrit dans Obtention d’informations contextuelles pour les actions personnalisées d’exécution différée.
Notez que les actions personnalisées différées, y compris restauration d’actions personnalisées et valider des actions personnalisées, sont les seuls types d’actions qui peuvent s’exécuter en dehors du contexte de sécurité des utilisateurs.
Rubriques connexes