Mis en forme

Le type de données Mis en forme est une chaîne de texte qui est traitée pour résoudre les éléments incorporés comme les noms de propriétés, les clés de table, les références de variable d’environnement et d’autres sous-chaînes spéciales. Les conventions suivantes sont reconnues pour résoudre la chaîne :

  • Des crochets ([ ]) ou des accolades ({ }) sans paire correspondante sont laissés dans le texte.

  • Si une sous-chaîne de la forme [propertyname] est rencontrée, elle est remplacée par la valeur de la propriété . Si propertyname n’est pas un nom de propriété valide, la sous-chaîne résolue est vide. Par exemple, la colonne Description de la table LaunchCondition prend une chaîne mise en forme. Si ERRORTXT a été défini sur « Contactez le personnel du support », le texte affiché pour l’échec de la condition de lancement comprend cette chaîne. Si ERRORTXT n’est pas défini, le texte affiché pour l’échec de la condition de lancement est simplement « Le système ne répond pas aux exigences d’installation ».

    Condition Description
    Version9x Le système ne répond pas aux exigences d’installation. [ERRORTXT]

     

  • Les crochets peuvent être itérés et les noms de propriété sont résolus de l’intérieur vers l’extérieur. Par exemple, supposons que la sous-chaîne [[PropertyA]] s’affiche dans le texte. Tout d’abord, la valeur de la propriété PropertyA est récupérée. Si la valeur est un nom de propriété valide, comme PropertyB, la valeur de PropertyB est récupérée et la sous-chaîne entière [[PropertyA]] est remplacée par la valeur de PropertyB. Si PropertyA n’est pas un nom de propriété valide, ou si la valeur de PropertyA n’est pas un nom de propriété valide, la sous-chaîne est vide.

  • Si une sous-chaîne de la forme [%environmentvariable] est trouvée, la valeur de la variable d’environnement remplace la sous-chaîne.

  • Si une sous-chaîne de la forme [\x] est trouvée, elle est remplacée par le caractère x, où x représente un seul caractère, sans traitement supplémentaire. Seul le premier caractère après la barre oblique inverse est conservé, tout le reste est supprimé. Par exemple, pour ajouter un crochet gauche littéral ([), utilisez [\[]. Le texte [\[]Texte entre crochets[\]] est résolu en [Texte entre crochets].

  • Si une sous-chaîne est entourée d’accolades ({ }) et qu’elle ne contient pas de nom de propriété entre crochets ([ ]), la sous-chaîne reste inchangée, y compris les accolades.

  • Si une sous-chaîne est entourée d’accolades ({ }) et qu’elle contient un ou plusieurs noms de propriété entre crochets ([ ]), et si tous les noms de propriété sont valides, le texte (avec les remplacements résolus) s’affiche sans les accolades.

  • Si une sous-chaîne de la forme [~] est trouvée, elle est remplacée par le caractère null. Elle est utilisée pour créer des chaînes de caractères REG_MULTI_SZ dans la table Registry. Notez que [~] est également utilisé pour ajouter ou préfixer des valeurs dans des variables d’environnement en utilisant la table Environment.

  • Si une sous-chaîne de la forme [#filekey] est trouvée, elle est remplacée par le chemin complet du fichier, avec la valeur filekey utilisée comme clé dans la table File. La valeur de [#filekey] reste vide et n’est pas remplacée par un chemin tant que le programme d’installation n’exécute pas l’action CostInitialize, l’action FileCost et l’action CostFinalize. La valeur de [#filekey] dépend de l’état d’installation du composant auquel appartient le fichier. Si le composant est exécuté à partir de la source, la valeur est le chemin de l’emplacement source du fichier. Si le composant est exécuté localement, la valeur est le chemin de l’emplacement cible du fichier après l’installation. Si le composant a l’état d’action absent, l’état installé du composant est utilisé pour déterminer le [).

  • Si une sous-chaîne de la forme [$componentkey] est trouvée, elle est remplacée par le répertoire d’installation du composant, par la valeur componentkey utilisée comme clé dans la table Component. La valeur de [#componentkey] reste vide et n’est pas remplacée par un répertoire tant que le programme d’installation n’exécute pas l’action CostInitialize, l’action FileCost et l’action CostFinalize. La valeur de [$componentkey] dépend de l’état d’installation du composant et de son emplacement. Dans la colonne Value de la table Registry, cette sous-chaîne peut référencer l’état d’action ou l’état d’action demandé du composant. Dans tous les autres cas, cette sous-chaîne référence l’état d’action du composant. Par exemple, si le composant est exécuté à partir de la source, la valeur est le répertoire source du fichier. Si le composant est exécuté localement, la valeur est le répertoire cible après l’installation. Si le composant est absent, la valeur est laissée vide. Windows Installer effectue le suivi de l’action et des états d’installation demandés des composants. Par exemple, si un composant est déjà installé, il peut avoir un état local demandé et un état d’action null. Pour plus d’informations sur la vérification de l’état d’installation des composants, consultez Vérification de l’installation des fonctionnalités, des composants, des fichiers.

  • Notez que si un composant est déjà installé et n’est pas réinstallé, supprimé ou déplacé pendant l’installation en cours, l’état d’action du composant est null et la chaîne [$componentkey] prend la valeur Null.

  • Si une sous-chaîne de la forme [!filekey] est trouvée, elle est remplacée par le chemin court complet du fichier, avec la valeur filekey utilisée comme clé dans la table File.

    Cette syntaxe est valide uniquement quand elle est utilisée dans la colonne Value des tables Registry ou IniFile. Quand elle est utilisée dans d’autres colonnes, cette syntaxe est traitée de la même façon que [#filekey].