Compartilhar via


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 de caracteres especiais. As convenções a seguir 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 [nome de propriedade] for encontrada, ela será substituída pelo valor da propriedade. Se nome de propriedade 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 da Tabela LaunchCondition usa uma cadeia de caracteres formatada. Se ERRORTXT tiver sido definido como "Contate sua equipe de suporte", o texto exibido para falha na condição de inicialização incluirá essa cadeia de caracteres. Se ERRORTXT não estiver definido, o texto exibido para 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 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 [%ambientevariável] 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 após a barra invertida ser mantida; todo o resto é removido. Por exemplo, para incluir um colchete esquerdo literal ([), use [\[]. O texto [\[]Texto de colchete[\]] é resolvido 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 ([ ]) então, 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 cadeias de caracteres REG_MULTI_SZ 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, pelo valor filekey usado 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, de ação FileCost e 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 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 formulário [$componentkey] for encontrada, ela será substituída pelo diretório de instalação do componente, pelo valor componentkey usado 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, de ação FileCost e 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 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 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 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 solicitado de local 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 estiver 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 [!] for encontrada, ela será substituída pelo caminho curto completo do arquivo, pelo valor de filekey usado como uma chave na tabela arquivo .

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