Actions personnalisées d’exécution différée
L’objectif d’une action personnalisée d’exécution différée est de retarder l’exécution d’une modification système à l’heure d’exécution du script d’installation. Cela diffère d’une action personnalisée standard ou d’une action standard, dans laquelle le programme d’installation exécute l’action immédiatement après l’avoir rencontrée dans une table séquentielle ou dans un appel à MsiDoAction. Une action personnalisée d’exécution différée permet à un auteur de package de spécifier les opérations système à un point particulier de 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 défini par le programme d’installation dans ce cas est MSIRUNMODE_SCHEDULED. Pour obtenir une description des paramètres du mode d’exécution, consultez MsiGetMode.
Une action personnalisée d’exécution différée doit être planifiée dans la table de séquence d’exécution de la section qui effectue la génération de script. Les actions personnalisées d’exécution différée doivent venir 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é, 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 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é. Pour plus d’informations sur les conflits potentiels entre leurs actions personnalisées et le thread d’installation principal, consultez Actions personnalisées synchrones et asynchrones.
É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 jeu de données de propriétés et de détecteurs de session d’origine pendant la séquence d’installation n’est pas disponible 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 descripteur qui ne peut être utilisé que pour obtenir une quantité très limitée d’informations, comme décrit dans Obtention d’informations de contexte pour les actions personnalisées d’exécution différée.
Notez que les actions personnalisées différées, y compris la restauration des actions personnalisées et les actions personnalisées de validation, sont les seuls types d’actions qui peuvent s’exécuter en dehors du contexte de sécurité des utilisateurs.
Rubriques connexes