Formatado

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

  • Colchetes ([ ]) ou chaves ({ }) sem nenhum par correspondente foram deixados no texto.

  • Se uma subcadeia de caracteres do formato [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 Description da tabela LaunchCondition usa uma cadeia de caracteres Formatted. Se ERRORTXT tiver sido definido como "Entre em contato com a equipe de suporte", o texto exibido para a falha na condição de inicialização incluirá essa cadeia de caracteres. Se ERRORTXT não for definido, o texto exibido para a falha 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 das propriedades 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 ficará em branco.

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

  • Se uma subcadeia de caracteres do formato [\x] for encontrada, ela será substituída pelo caractere x, sendo que x é um caractere, sem nenhum processamento adicional. Somente o primeiro caractere depois da barra invertida é mantido. O restante é removido. Por exemplo, para incluir um colchete esquerdo literal ([), use [\[]. O texto [\[]Texto do Colchete[\]] é resolvido como [Texto do Colchete].

  • Se uma subcadeia de caracteres estiver entre chaves ({ }) e não contiver nomes de propriedades 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 propriedades entre colchetes ([ ]), se todos os nomes de propriedades forem válidos, o texto (com as substituições resolvidas) será exibido sem as chaves.

  • Se uma subcadeia de caracteres do formato [~] for encontrada, ela será substituída pelo caractere nulo. Isso é usado para criar cadeias de caracteres REG_MULTI_SZ na tabela Registry. Observe que [~] também é usado para acrescentar ou prefixar valores às variáveis de ambiente por meio da tabela Environment.

  • Se uma subcadeia de caracteres do formato [#filekey] for encontrada, ela será substituída pelo caminho completo do arquivo, pelo valor de filekey usado como uma chave na tabela File. O valor de [#filekey] permanece em branco e só é substituído por um caminho quando o instalador executa 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 por meio da 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 formato [$componentkey] for encontrada, ela será substituída pelo diretório de instalação do componente, pelo valor de componentkey usado como uma chave na tabela Component. O valor de [$componentkey] permanece em branco e só é substituído por um diretório quando o instalador executa 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 do local em que ele ocorre. Na coluna Value da tabela Registry, 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 se refere ao estado de ação do componente. Por exemplo, se o componente for executado por meio da 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. O Windows Installer acompanha 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 solicitado local e um estado de ação nulo. Para obter mais informações sobre como verificar o estado de instalação dos componentes, confira Como verificar a instalação de recursos, componentes e arquivos.

  • Observe que, se um componente já estiver instalado e não for reinstalado, removido nem 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 formato [!filekey] for encontrada, ela será substituída pelo caminho curto do arquivo, pelo valor de filekey usado como uma chave na tabela File.

    Essa sintaxe só é válida quando usada na coluna Value das tabelas Registry ou IniFile. Quando usada em outras colunas, essa sintaxe é tratada da mesma forma que [#filekey].