Restauration d’actions personnalisées
Lorsque le programme d’installation traite le script d’installation, il génère simultanément un script de restauration. Outre le script de restauration, le programme d’installation enregistre une copie de chaque fichier qu’il supprime pendant l’installation. Ces fichiers sont conservés dans un répertoire système masqué. Une fois l’installation terminée, le script de restauration et les fichiers enregistrés sont supprimés. Si une installation échoue, le programme d’installation tente de restaurer les modifications apportées pendant l’installation et de restaurer l’état d’origine de l’ordinateur.
Bien que les actions personnalisées qui planifient les opérations système en insérant des lignes dans la table de base de données soient inversées par une restauration de l’installation, des actions personnalisées qui modifient directement le système ou qui émettent des commandes vers d’autres services système, ne peuvent pas toujours être inversées par une restauration. Une action personnalisée de restauration est une action que le programme d’installation exécute uniquement pendant une restauration d’installation, et son objectif est d’inverser une action personnalisée qui a apporté des modifications au système.
Une action personnalisée de restauration est un type d’action personnalisée d’exécution différée , car son exécution est différée lorsqu’elle est appelée pendant la séquence d’installation. Il diffère d’une action personnalisée différée régulière dans laquelle elle n’est exécutée qu’au cours d’une restauration. Une action personnalisée de restauration doit toujours précéder l’action personnalisée différée qu’elle restaure dans la séquence d’actions. Une action personnalisée de restauration doit également gérer le cas où l’action personnalisée différée est interrompue au milieu de l’exécution. Par exemple, si l’utilisateur devait appuyer sur le bouton Annuler pendant l’exécution de l’action personnalisée.
Notez que la restauration des actions personnalisées ne peut pas s’exécuter de manière asynchrone. Consultez actions personnalisées synchrones et asynchrones.
Le complément à une action personnalisée de restauration est une action personnalisée de validation . Le programme d’installation exécute une action personnalisée de validation pendant la séquence d’installation, copie l’action personnalisée dans le script de restauration, mais n’exécute pas l’action pendant la restauration.
Notez qu’une action personnalisée de restauration peut ne pas être en mesure de supprimer toutes les modifications apportées par les actions personnalisées de validation. Bien que le programme d’installation écrit à la fois les actions de restauration et de validation personnalisées dans le script de restauration, les actions personnalisées de validation s’exécutent uniquement une fois que le programme d’installation a correctement traité le script d’installation. Les actions personnalisées de validation sont les premières actions à exécuter dans le script de restauration. Si une action personnalisée de validation échoue, le programme d’installation lance la restauration, mais peut uniquement restaurer ces opérations déjà écrites dans le script de restauration. Cela signifie que, selon l’action personnalisée de validation, une restauration peut ne pas être en mesure d’annuler les modifications apportées par l’action. Vous pouvez ignorer les échecs dans les actions personnalisées de validation en créant l’action personnalisée pour ignorer les codes de retour.
Lorsque le programme d’installation exécute une action personnalisée de restauration, le seul paramètre de mode qu’il définit est MSIRUNMODE_ROLLBACK. Consultez msiGetMode pour obtenir une description des paramètres du mode d’exécution.
Une action personnalisée de restauration peut être spécifiée en ajoutant un indicateur d’option au champ Type de la table CustomAction. Consultez action personnalisée In-Script options d’exécution pour l’indicateur d’option désignant une action personnalisée de restauration.
La restauration et la validation des actions personnalisées ne s’exécutent pas lorsque la restauration est désactivée. Si un auteur de package requiert ces types d’actions personnalisées pour une installation appropriée, ils doivent utiliser la propriété RollbackDisabled dans une condition qui empêche l’installation de continuer lorsque la restauration est désactivée. Pour plus d’informations sur la désactivation de la restauration, consultez installation de restauration (Windows Installer).