Formaté
Le type de données mis en forme est une chaîne de texte qui est traitée pour résoudre les noms de propriétés incorporées, les clés de table, les références de variables d’environnement et d’autres sous-chaînes spéciales. Les conventions suivantes sont reconnues pour résoudre la chaîne :
Crochets ([ ]) ou accolades ({ }) sans paire correspondante sont laissés dans le texte.
Si une sous-chaîne du formulaire [propertyname] est rencontrée, elle est remplacée par la valeur de la propriété. Si nom_propriété n’est pas un nom de propriété valide, la sous-chaîne se résout comme vide. Par exemple, la colonne Description de la table LaunchCondition prend une chaîne mise en forme. Si ERRORTXT a été défini sur « Veuillez contacter le personnel du support technique », le texte affiché pour l’échec de la condition de lancement inclurait cette chaîne. Si ERRORTXT n’est pas défini, le texte affiché pour l’échec de la condition de lancement serait 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 des propriétés sont résolus de l’intérieur. Par exemple, supposons que la sous-chaîne [[PropertyA]] s’affiche dans le texte. Tout d’abord, la valeur de propertyA est récupérée. Si la valeur est un nom de propriété valide, tel que PropertyB, la valeur de PropertyB est récupérée et la sous-chaîne entière [[PropertyA]] est remplacée par la valeur 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 du formulaire [%environnementvariable] est trouvée, la valeur de la variable d’environnement est remplacée par la sous-chaîne.
Si une sous-chaîne du formulaire [\x] est trouvée, elle est remplacée par le caractère x , où x est un 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 inclure un crochet littéral gauche ([), utilisez [\[]. Le texte [\[]Crochet texte[\]] est résolu en [Crochet de texte].
Si une sous-chaîne est placée entre accolades ({ }), et qu’elle ne contient aucun nom de propriété entre crochets ([ ]), la sous-chaîne reste inchangée, y compris les accolades.
Si une sous-chaîne est placée entre accolades ({ }) et qu’elle contient un ou plusieurs noms de propriétés placés entre crochets ([ ]), alors, si tous les noms de propriétés sont valides, le texte (avec les substitutions résolues) s’affiche sans les accolades.
Si une sous-chaîne du formulaire [~] est trouvée, elle est remplacée par le caractère Null. Il est utilisé pour créer des chaînes de caractères REG_MULTI_SZ dans la table de Registre . Notez que [~] est également utilisé pour ajouter ou préfixer des valeurs à des variables d’environnement à l’aide de la table environnement .
Si une sous-chaîne du formulaire [#filekey] est trouvée, elle est remplacée par le chemin complet du fichier, avec la valeur clé de fichier utilisée comme clé dans la table fichier . La valeur de [#filekey] reste vide et n’est pas remplacée par un chemin jusqu’à ce que le programme d’installation exécute l’action CostInitialize, action FileCostet 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 d’accès à l’emplacement source du fichier. Si le composant est exécuté localement, la valeur est le chemin d’accès à l’emplacement cible du fichier après l’installation. Si le composant a un état d’action absent, l’état installé du composant est utilisé pour déterminer le [).
Si une sous-chaîne du formulaire [$componentkey] est trouvée, elle est remplacée par le répertoire d’installation du composant, avec la valeur clé de composant utilisée comme clé dans la table composant . 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, action FileCostet Action CostFinalize. La valeur de [$componentkey] dépend de l’état d’installation du composant et de son emplacement. Dans la colonne Valeur de la table de Registre , cette sous-chaîne peut faire référence à l’état d’action ou à l’état d’action demandé du composant. Dans tous les autres cas, cette sous-chaîne fait 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 demandé de local et un état d’action de 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, composants, fichiers.
Notez que si un composant est déjà installé et qu’il n’est pas réinstallé, supprimé ou déplacé pendant l’installation actuelle, l’état d’action du composant est Null et la chaîne [$componentkey] prend la valeur Null.
Si une sous-chaîne du formulaire [ !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 fichier .
Cette syntaxe est valide uniquement lorsqu’elle est utilisée dans la colonne Valeur des tables Registry ou IniFile. Lorsqu’elle est utilisée dans d’autres colonnes, cette syntaxe est traitée de la même façon que [#filekey] .