Tabela Environment
A tabela Environment é usada para definir os valores das variáveis de ambiente.
Ela tem as colunas a seguir.
Coluna | Tipo | Chave | Nullable |
---|---|---|---|
Ambiente | Identificador | S | N |
Nome | Texto | N | N |
Valor | Formatted | N | S |
Component_ | Identificador | N | N |
Colunas
-
Environment
-
Essa é a chave primária da tabela e é um token não localizado.
-
Name
-
Essa coluna é o nome localizável da variável de ambiente. Os valores de chave são gravados ou removidos, dependendo de quais dos caracteres da tabela a seguir são prefixados ao nome. Não há nenhum efeito na ordenação dos símbolos usados em um prefixo.
Prefixo Descrição = Cria a variável de ambiente, caso ela não exista e, em seguida, define-a durante a instalação. Caso a variável de ambiente exista, define-a durante a instalação. + Cria a variável de ambiente, caso ela não exista e, em seguida, define-a durante a instalação. Isso não terá efeito sobre o valor da variável de ambiente se ela já existir. - Remove a variável de ambiente quando o componente é removido. Esse símbolo pode ser combinado com qualquer prefixo. ! Remove a variável de ambiente durante uma instalação. O instalador só removerá uma variável de ambiente durante uma instalação se o nome e o valor da variável corresponderem às entradas nos campos Name e Value da tabela Environment. Caso deseje remover uma variável de ambiente, seja qual for o valor dela, use a sintaxe '!' e deixe o campo Value vazio. * Esse prefixo é usado com o Windows 2000 para indicar que o nome se refere a uma variável de ambiente do sistema. Se nenhum asterisco estiver presente, o instalador gravará a variável no ambiente do usuário. Esse símbolo pode ser combinado com qualquer prefixo. Um pacote usado para instalação no contexto de instalação por computador deve gravar as variáveis de ambiente no ambiente do computador incluindo * na coluna Name. Para obter mais informações, consulte Comentários. =- A variável de ambiente é definida na instalação e removida na desinstalação. Esse é o comportamento normal. !- Remove uma variável de ambiente durante uma instalação ou uma desinstalação. =+ !+
!=Esses não são prefixos válidos Se o campo Value da tabela incluir um [~], os caracteres de prefixo só se aplicarão à parte especificada da cadeia de caracteres. O uso de [~] é descrito abaixo na seção da coluna Value.
A variável de ambiente será removida se o campo Value da tabela estiver em branco. Portanto, com um branco no campo Value, um prefixo = exclui a variável de ambiente na instalação, e um prefixo - exclui todos os valores atuais na desinstalação.
-
Value
-
Essa coluna contém o valor localizável que deve ser definido como uma cadeia de caracteres formatada. Confira Formatted. Se esse campo for deixado em branco, a variável será removida. Se o campo estiver em branco e a cadeia de caracteres no campo Name for antecedida pelo símbolo -, a variável será removida somente quando o componente for removido.
Para acrescentar um valor ao final de uma variável existente, acrescente o caractere Null [~] e o caractere separador como prefixos da cadeia de caracteres nesse campo. Por exemplo, se o ponto e vírgula for o separador escolhido: [~];Value.
Para acrescentar um valor como prefixo na frente de uma variável existente, acrescente o caractere separador e o caractere Null [~] à cadeia de caracteres nesse campo. Por exemplo, se o ponto e vírgula for o separador escolhido: Value;[~].
Se não houver nenhum [~] presente no campo, a cadeia de caracteres representará todo o valor a ser definido ou excluído.
Cada linha só pode conter um valor. Por exemplo, a entrada Value;Value;[~] é mais de um valor e não deve ser usado porque causa resultados imprevisíveis. A entrada Value;[~] é apenas um valor.
Se + for usado como prefixo de Name, [~] não deverá ser usado na coluna Value. Isso ocorre porque o significado de "+" e "[~]" é claramente exclusivo um do outro.
-
Component_
-
Uma chave externa para a primeira coluna da tabela Component. Essa coluna referencia o componente que controla a instalação dos valores de ambiente.
Comentários
Para que o instalador defina variáveis de ambiente, a ação WriteEnvironmentStrings e a ação RemoveEnvironmentStrings precisam ser listadas na tabela InstallExecuteSequence.
Observe que as variáveis de ambiente não são alteradas para a instalação em andamento quando a ação WriteEnvironmentStrings ou a ação RemoveEnvironmentStrings é executada. No Windows 2000, essas informações são armazenadas no Registro, e uma mensagem notifica o sistema das alterações quando a instalação é concluída. Um novo processo ou outro processo que verifica essas mensagens usa as novas variáveis de ambiente.
Ao modificar a variável de ambiente de caminho com a tabela Environment, não tente inserir todo o novo caminho explicitamente no campo Value. Em vez disso, estenda o caminho existente prefixando ou acrescentando um valor e um delimitador (;) a [~]. Se [~] não estiver presente no campo Value, as informações de caminho existentes serão perdidas e a instalação do arquivo .msi poderá impedir que o computador seja inicializado. A variável de caminho geralmente é definida por meio da sintaxe: [~];Value.
Ao executar instalações por computador por meio de um servidor de terminal, o instalador grava variáveis de ambiente por usuário em HKU\.Default\Environment. Como os Serviços de Terminal não replicam esta seção do Registro, a instalação não define as variáveis de ambiente por usuário. Um pacote usado para instalações por computador deve gravar variáveis de ambiente no ambiente do computador incluindo * na coluna Name. Se o pacote puder ser instalado por usuário ou por computador, crie dois componentes: (1) um componente por usuário com as entradas da tabela Environment criadas para configurações do usuário e (2) um componente por computador com a tabela Environment criada para as configurações do computador. Condicione a instalação desse componente usando a propriedade Privileged.