Formatado

O tipo de dados formatado é uma cadeia de caracteres de texto que é processada para resolver nomes de propriedades inseridas, chaves de tabela, referências de variáveis de ambiente e outras subcadeias especiais. As seguintes convenções são reconhecidas para resolver a cadeia de caracteres:

  • Colchetes ([ ]) ou chaves ({ }) sem par correspondente são deixados no texto.

  • Se uma subcadeia de caracteres do formulário [propertyname] for encontrada, ela será substituída pelo valor da propriedade. Se propertyname não for um nome de propriedade válido, a subcadeia de caracteres será resolvida como em branco. Por exemplo, a coluna Descrição da Tabela LaunchCondition usa uma cadeia de caracteres formatada. Se ERRORTXT tiver sido definido como "Entre em contato com a equipe de suporte" em seguida, o texto exibido por falha na condição de inicialização incluiria essa cadeia de caracteres. Se ERRORTXT não estiver definido, o texto exibido por falhar na condição de inicialização será apenas "O sistema não atende aos requisitos de instalação".

    Condição Descrição
    Version9X O sistema não atende aos requisitos de instalação. [ERRORTXT]

     

  • Os colchetes podem ser iterados e os nomes de propriedade são resolvidos de dentro para fora. Por exemplo, suponha que a subcadeia de caracteres [[PropertyA]] apareça no texto. Primeiro, o valor da propriedade PropertyA é recuperado. Se o valor for um nome de propriedade válido, como PropertyB, o valor de PropertyB será recuperado e toda a subcadeia de caracteres [[PropertyA]] será substituída pelo valor de PropertyB. Se PropertyA não for um nome de propriedade válido ou se o valor de PropertyA não for um nome de propriedade válido, a subcadeia de caracteres estará em branco.

  • Se uma subcadeia de caracteres do formulário [%environmentvariable] for encontrada, o valor da variável de ambiente será substituído pela subcadeia de caracteres.

  • Se uma subcadeia de caracteres do formulário [\x] for encontrada, ela será substituída pelo caractere x , em que x é um caractere, sem nenhum processamento adicional. Somente o primeiro caractere depois que a barra invertida é mantida; todo o resto é removido. Por exemplo, para incluir um colchete esquerdo literal ([), use [\[]. O texto [\[]Texto de colchete[\]] resolve para [Texto de Colchete].

  • Se uma subcadeia de caracteres estiver entre chaves ({ }) e não contiver nomes de propriedade entre colchetes ([ ]), a subcadeia de caracteres será deixada inalterada, incluindo as chaves.

  • Se uma subcadeia de caracteres estiver entre chaves ({ }) e contiver um ou mais nomes de propriedade entre colchetes ([ ]) em seguida, se todos os nomes de propriedade forem válidos, o texto (com as substituições resolvidas) será exibido sem as chaves.

  • Se uma subcadeia de caracteres do formulário [~] for encontrada, ela será substituída pelo caractere nulo. Isso é usado para criar REG_MULTI_SZ cadeias de caracteres na tabela Registro. Observe que [~] também é usado para acrescentar ou prefixar valores a variáveis de ambiente usando a tabela Ambiente.

  • Se uma subcadeia de caracteres do formulário [#filekey] for encontrada, ela será substituída pelo caminho completo do arquivo, com a chave de arquivo de valor usada como uma chave na tabela Arquivo. O valor de [#filekey] permanece em branco e não é substituído por um caminho até que o instalador execute a ação CostInitialize, a ação FileCost e a ação CostFinalize. O valor de [#filekey] depende do estado de instalação do componente ao qual o arquivo pertence. Se o componente for executado na origem, o valor será o caminho para o local de origem do arquivo. Se o componente for executado localmente, o valor será o caminho para o local de destino do arquivo após a instalação. Se o componente tiver um estado de ação ausente, o estado instalado do componente será usado para determinar o [).

  • Se uma subcadeia de caracteres do formulário [$componentkey] for encontrada, ela será substituída pelo diretório de instalação do componente, pela chave de componente de valor usada como chave na tabela Componente. O valor de [$componentkey] permanece em branco e não é substituído por um diretório até que o instalador execute a ação CostInitialize, a ação FileCost e a ação CostFinalize. O valor de [$componentkey] depende do estado de instalação do componente e de onde ele ocorre. Na coluna Valor da Tabela do Registro, essa subcadeia de caracteres pode se referir ao estado da ação ou ao estado de ação solicitado do componente. Em todos os outros casos, essa subcadeia de caracteres refere-se ao estado de ação do componente. Por exemplo, se o componente for executado na origem, o valor será o diretório de origem do arquivo. Se o componente for executado localmente, o valor será o diretório de destino após a instalação. Se o componente estiver ausente, o valor será deixado em branco. Windows Instalador controla a ação e os estados de instalação solicitados dos componentes. Por exemplo, se um componente já estiver instalado, ele poderá ter um estado de local solicitado e um estado de ação nulo. Para obter mais informações sobre como verificar o estado de instalação dos componentes, consulte Verificando a instalação de recursos, componentes, arquivos.

  • Observe que, se um componente já estiver instalado e não for reinstalado, removido ou movido durante a instalação atual, o estado de ação do componente será nulo e a cadeia de caracteres [$componentkey] será avaliada como Null.

  • Se uma subcadeia de caracteres do formulário [! filekey] é encontrado, ele é substituído pelo caminho curto completo do arquivo, com a chave de arquivo de valor usada como uma chave na tabela Arquivo.

    Essa sintaxe é válida somente quando usada na coluna Valor do Registro ou nas tabelas IniFile. Quando usada em outras colunas, essa sintaxe é tratada da mesma forma que [#filekey] .