Partager via


InstallValidate Action

L’action InstallValidate vérifie que tous les volumes auxquels coût a été attribué ont suffisamment d’espace pour l’installation. L’action InstallValidate met fin à l’installation avec une erreur irrécupérable si un volume est court d’espace disque.

L’action InstallValidate avertit également l’utilisateur si un ou plusieurs fichiers à remplacer ou supprimer sont actuellement utilisés par un processus actif. Pour plus d’informations, consultez redémarrages du système.

Restrictions de séquence

La CostFinalize action et toutes les séquences de boîtes de dialogue d’interface utilisateur qui permettent à l’utilisateur de modifier les états de sélection et/ou les répertoires doivent être séquencés avant l’action InstallValidate.

actions personnalisées qui modifient l’état d’installation des fonctionnalités ou des composants doivent être séquencées avant l’action InstallValidate.

ActionData Messages

Il n’existe aucun message ActionData.

Remarques

En règle générale, une séquence de boîtes de dialogue d’interface utilisateur antérieure doit effectuer la même vérification que l’action InstallValidate lorsque l’utilisateur tente de lancer la copie de fichiers. Cette séquence de boîtes de dialogue d’interface utilisateur doit présenter une boîte de dialogue espace disque insuffisant si les volumes sélectionnés n’ont pas suffisamment d’espace pour l’installation. Les boîtes de dialogue de l’interface utilisateur doivent être créées de manière à empêcher l’utilisateur de poursuivre l’installation en cas d’espace disque insuffisant. Dans le cas d’une installation silencieuse, il n’existe aucune interface utilisateur et l’action InstallValidate met fin à l’installation en cas d’espace disque insuffisant. La cause de l’arrêt prématuré est enregistrée dans le fichier journal si la journalisation est activée.

Une entrée est ajoutée à une table FilesInUse interne si un fichier est remplacé ou supprimé pendant qu’il est ouvert pour l’exécution ou la modification par n’importe quel processus pendant le fichier coût. La table FilesInUse contient des colonnes pour le nom et le chemin d’accès complet du fichier. Lorsque l’action InstallValidate s’exécute, le programme d’installation interroge la table FilesInUse pour les entrées et détermine le nom du processus à l’aide du fichier. L’action InstallValidate ajoute un enregistrement à la table d’interface utilisateur ListBox pour chaque processus unique identifié par cette requête. L’enregistrement contient les valeurs suivantes dans chaque colonne :

, propriété: FileInUseProcess

 

Valeur: nom du processus

 

Texte: Texte contenu dans la légende de la fenêtre principale du processus

L’action InstallValidate affiche ensuite la boîte de dialogue Fichiers en cours d’utilisation. Cette boîte de dialogue affiche les processus qui doivent être arrêtés pour éviter la nécessité de redémarrer le système pour remplacer les fichiers en cours d’utilisation.

L’action InstallValidate interroge la table Boîte de dialogue pour une boîte de dialogue créée avec le nom réservé Boîte de dialogue FilesInUse et l’affiche. Cette boîte de dialogue doit contenir un contrôle ListBox lié à une propriété nommée FileInUseProcess. Par convention, cette boîte de dialogue comporte un Quitter, réessayerou bouton Ignorer, mais il s’agit de l’auteur de l’interface utilisateur. Chaque bouton doit être lié à un EndDialog ControlEvent dans la table ControlEvent. L’action InstallValidate répond comme suit à la valeur retournée par le DoAction ControlEvent, comme indiqué par l’un de ces arguments EndDialog associés au bouton envoyé par l’utilisateur :

réessayer: toutes les valeurs ajoutées à la table ListBox sont effacées, et l’intégralité du fichier coût de procédure est répétée, revérifier les fichiers qui sont toujours en cours d’utilisation. Si un ou plusieurs processus sont toujours identifiés comme utilisant des fichiers à remplacer ou à supprimer, le processus se répète ; Sinon, InstallValidate retourne le contrôle au programme d’installation avec l’état msiDoActionStatusSuccess.

Quitter: l’action InstallValidate retourne immédiatement le contrôle au programme d’installation avec l’état msiDoActionStatusUserExit. Cette opération met fin à l’installation.

Toute autre valeur de retour: l’action InstallValidate retourne immédiatement le contrôle au programme d’installation avec l’état msiDoActionStatusSuccess. Dans ce cas, étant donné qu’un ou plusieurs fichiers sont toujours en cours d’utilisation, les InstallFiles et/ou InstallAdminPackage actions doivent planifier le ou les fichiers en cours d’utilisation à remplacer ou à supprimer lorsque le système est redémarré.

S’il n’existe aucun table ListBox dans la base de données, InstallValidate se ferme en mode silencieux sans erreur.

Le point-virgule est le délimiteur de liste pour les transformations, les sources et les correctifs, et ne doit pas être utilisé dans ces noms de fichiers ou chemins d’accès.

Les fichiers marqués en lecture seule dans un emplacement en lecture seule ne sont jamais considérés comme utilisés par le programme d’installation.

Une boîte de dialogue par défaut espace disque contenant abandon et boutons Réessayer est présentée à l’utilisateur si le niveau de l’interface utilisateur est de base.