Отформатированный

Тип данных Formatted — это текстовая строка, которая обрабатывается для разрешения внедренных имен свойств, ключей таблиц, ссылок на переменные среды и других специальных подстрок. Для разрешения строки распознаются следующие соглашения:

  • В тексте остаются квадратные скобки ([ ]) или фигурные скобки ({ }) без соответствующей пары.

  • Если обнаружена подстрока формы [propertyname], она заменяется значением свойства . Если propertyname не является допустимым именем свойства, подстрока разрешается как пустая. Например, столбец Description таблицы LaunchCondition принимает форматированную строку. Если для параметра ERRORTXT задано значение "Пожалуйста, обратитесь в службу поддержки". Текст, отображаемый для сбоя условия запуска, будет содержать эту строку. Если параметр ERRORTXT не задан, отображается текст для сбоя условия запуска: "Система не соответствует требованиям к установке".

    Условие Описание
    Version9X Система не соответствует требованиям к установке. [ERRORTXT]

     

  • Квадратные скобки могут быть итерированы, а имена свойств разрешаются изнутри. Например, предположим, что в тексте отображается подстрока [[PropertyA]]] . Сначала извлекается значение свойства PropertyA. Если значение является допустимым именем свойства, например PropertyB, то извлекается значение PropertyB, а вся подстрока [[PropertyA]] заменяется значением PropertyB. Если СвойствоA не является допустимым именем свойства или значение СвойстваA не является допустимым именем свойства, то подстрока пуста.

  • При обнаружении подстроки формы [%environmentvariable] значение переменной среды заменяется подстрокой.

  • Если найдена подстрока формы [\x], она заменяется символом x , где x — один символ, без дальнейшей обработки. Сохраняется только первый символ после обратной косой черты; все остальное удаляется. Например, чтобы включить литеральную левую скобку ([), используйте [\[]. Текст [\[]Текст в скобках[\]] разрешается в [Текст в скобках].

  • Если подстрока заключена в фигурные скобки ({ }) и не содержит имен свойств, заключенных в квадратные скобки ([ ]), подстрока остается без изменений, включая фигурные скобки.

  • Если подстрока заключена в фигурные скобки ({ }) и содержит одно или несколько имен свойств, заключенных в квадратные скобки ([ ]), то, если все имена свойств являются допустимыми, текст (с разрешенными подстановками) отображается без фигурных скобок.

  • Если найдена подстрока формы [~], она заменяется символом NULL. Используется для создания REG_MULTI_SZ символьных строк в таблице реестра. Обратите внимание, что [~] также используется для добавления или префикса значений к переменным среды с помощью таблицы Environment.

  • Если подстрока формы [#filekey] найдена, она заменяется полным путем к файлу со значением filekey , используемым в качестве ключа в таблице File. Значение [#filekey] остается пустым и не заменяется путем, пока установщик не запустит действия CostInitialize, FileCost и CostFinalize. Значение [#filekey] зависит от состояния установки компонента, которому принадлежит файл. Если компонент запускается из источника, значением является путь к исходному расположению файла. Если компонент запускается локально, значением является путь к целевому расположению файла после установки. Если компонент имеет состояние действия отсутствует, то для определения [) используется установленное состояние компонента.

  • Если подстрока формы [$componentkey] найдена, она заменяется каталогом установки компонента со значением componentkey , используемым в качестве ключа в таблице Component. Значение [$componentkey] остается пустым и не заменяется каталогом, пока установщик не запустит действия CostInitialize, FileCost и CostFinalize. Значение [$componentkey] зависит от состояния установки компонента и места его возникновения. В столбце Значение таблицы реестра эта подстрока может ссылаться на состояние действия или запрошенное состояние действия компонента. Во всех остальных случаях эта подстрока относится к состоянию действия компонента. Например, если компонент запускается из источника, значением будет исходный каталог файла. Если компонент запускается локально, значением будет целевой каталог после установки. Если компонент отсутствует, значение остается пустым. Установщик Windows отслеживает как действие, так и запрошенные состояния установки компонентов. Например, если компонент уже установлен, он может иметь запрошенное состояние local и состояние действия null. Дополнительные сведения о проверке состояния установки компонентов см. в разделе Проверка установки компонентов, компонентов, файлов.

  • Обратите внимание, что если компонент уже установлен и не переустановлен, не удален или перемещен во время текущей установки, то состояние действия компонента равно NULL, а строка [$componentkey] принимает значение Null.

  • Если подстрока формы [! filekey] найден, он заменяется полным коротким путем к файлу со значением filekey , используемым в качестве ключа в таблице File.

    Этот синтаксис действителен, только если используется в столбце Значение таблицы Registry или IniFile. При использовании в других столбцах этот синтаксис обрабатывается так же, как [#filekey] .