Modification de l’emplacement cible d’un répertoire
La meilleure façon de spécifier l’emplacement cible d’un répertoire consiste, dans la mesure du possible, à créer la table Directory dans le package d’installation pour fournir l’emplacement approprié. Pour plus d’informations, consultez Utilisation de la table Directory.
Si vous devez modifier l’emplacement du répertoire au moment de l’installation, vous disposez des options suivantes :
- Spécifiez l’emplacement d’un répertoire en définissant la valeur d’une propriété publique en ligne de commande. Pendant l’action CostFinalize, le chemin des répertoires internes utilisé par le programme d’installation est mis à jour en fonction de la valeur des propriétés servant de clés dans la table Directory. Pour plus d’informations, consultez Utilisation des propriétés et Définition de la valeur des propriétés publiques en ligne de commande.
- Spécifiez l’emplacement du répertoire à l’aide d’une action personnalisée. Si celle-ci doit s’exécuter avant l’action CostFinalize, vous pouvez utiliser un type d’action personnalisée 51 pour définir la valeur d’une propriété à partir d’une chaîne de texte mise en forme. Si l’action personnalisée a lieu après l’action CostFinalize, choisissez un type d’action personnalisée 35 afin de fixer la valeur du chemin du répertoire à partir d’une chaîne de texte mise en forme. Les actions personnalisées qui modifient l’une des propriétés du dossier système doivent être incluses à la fois dans les tables de séquence d’exécution (InstallExecuteSequence Table ou AdminExecuteSequence Table) et dans les tables de séquence d’interface utilisateur (InstallUISequence Table et AdminUISequence Table) afin que le dossier soit modifié lors des installations complètes et de base de l’interface utilisateur.
- En cas d’installation complète de l’interface utilisateur, vous pouvez utiliser MsiSetTargetPath ou l’événement ControlEvent SetTargetPath pour définir le chemin du répertoire. Vérifiez la propriété ProductState pour déterminer si le produit qui contient ce composant est déjà installé avant d’appeler MsiSetTargetPath ou l’événement ControlEvent SetTargetPath. N’essayez pas de modifier le chemin du répertoire cible si certains composants qui utilisent ce chemin sont déjà installés pour l’utilisateur actuel ou un autre utilisateur.
Les restrictions suivantes s’appliquent à toutes les options ci-dessus :
- N’essayez pas de modifier le chemin du répertoire cible si certains composants qui utilisent ce chemin sont déjà installés pour l’utilisateur actuel ou un autre utilisateur.
- N’essayez pas de modifier le chemin du répertoire cible pendant une installation de maintenance.