Compartilhar via


Tabela do Registro

A tabela Registro contém as informações do Registro que o aplicativo precisa definir no registro do sistema.

A tabela Registro tem as colunas a seguir.

Coluna Tipo Chave Nullable
Registro identificador de Y N
Raiz inteiro N N
Chave RegPath N N
Nome Formatado N Y
Valor Formatado N Y
Componente_ identificador de N N

 

Colunas

Registro de

Chave primária usada para identificar um registro do Registro.

Raiz do

A chave raiz predefinida para o valor do Registro. Insira um valor de -1 neste campo para tornar a chave raiz dependente do tipo de instalação. Insira um dos outros valores na tabela a seguir para forçar a gravação do valor do Registro em uma chave raiz específica.

Constante Hexadecimal Decimal Chave raiz
(nenhum) - 0x001 -1 Se essa for uma instalação por usuário, o valor do Registro será gravado em HKEY_CURRENT_USER. Se essa for uma instalação por computador, o valor do Registro será gravado em HKEY_LOCAL_MACHINE. Observe que uma instalação por computador é especificada definindo a propriedade ALLUSERS como 1.
msidbRegistryRootClassesRoot 0x000 0 HKEY_CLASSES_ROOTO instalador grava ou remove o valor do HKCU\Software\Classes hive durante a instalação no contexto de instalação por usuário.
O instalador grava ou remove o valor do HKLM\Software\Classes hive durante instalações por computador.
msidbRegistryRootCurrentUser 0x001 1 HKEY_CURRENT_USER
msidbRegistryRootLocalMachine 0x002 2 HKEY_LOCAL_MACHINE
msidbRegistryRootUsers 0x003 3 HKEY_USERS

 

Observe que é recomendável que as entradas do Registro gravadas no HKCU referência de hive a um componente que tenha o bit RegistryKeyPath definido na coluna Atributos da tabela Component. Isso garante que o instalador grave as entradas de registro necessárias quando houver vários usuários no mesmo computador.

Chave

A chave localizável para o valor do Registro.

Nome do

Esta coluna contém o nome do valor do registro (localizável). Se for Nulo, os dados inseridos na coluna Valor serão gravados na chave do Registro padrão.

Se a coluna Valor for Nula, as cadeias de caracteres mostradas na tabela a seguir na coluna Name terão um significado especial.

Corda Significado
+ A chave será criada, se ausente, quando o componente for instalado.
- A chave deve ser excluída, se presente, com todos os seus valores e subchaves, quando o componente é desinstalado.
* A chave será criada, se ausente, quando o componente for instalado. Além disso, a chave deve ser excluída, se presente, com todos os seus valores e subchaves, quando o componente for desinstalado.

 

Observe que a tabela RemoveRegistry deve ser usada se uma chave do Registro instalada deve ser excluída, com seus valores e subchaves, quando o componente é instalado.

Valor

Esta coluna é o valor localizável do registro. O campo é formatado. Se o valor estiver anexado a um dos seguintes prefixos (ou seja, #%valor), o valor será interpretado conforme descrito na tabela. Observe que cada prefixo começa com um sinal de número (#). Se o valor começar com dois ou mais sinais numéricos consecutivos (#), o primeiro # será ignorado e o valor será interpretado e armazenado como uma cadeia de caracteres.

Prefixo Significado
#x O valor é interpretado e armazenado como um valor hexadecimal (REG_BINARY).
#% O valor é interpretado e armazenado como uma cadeia de caracteres expansível (REG_EXPAND_SZ).
# O valor é interpretado e armazenado como um inteiro (REG_DWORD).

 

  • Se o valor contiver o bloco de sequência [~], o valor será interpretado como uma lista delimitada por Null de cadeias de caracteres (REG_MULTI_SZ). Por exemplo, para especificar uma lista que contém as três cadeias de caracteres a, b e c, use "a[~]b[~]c".
  • A sequência [~] dentro do valor separa as cadeias de caracteres individuais e é interpretada e armazenada como um caractere Nulo.
  • Se um [~] preceder a lista de cadeias de caracteres, as cadeias de caracteres deverão ser acrescentadas a quaisquer cadeias de caracteres de valor do Registro existentes. Se uma cadeia de caracteres de acréscimo já ocorrer no valor do Registro, a ocorrência original da cadeia de caracteres será removida.
  • Se um [~] seguir o final da lista de cadeias de caracteres, as cadeias de caracteres deverão ser anexadas a todas as cadeias de caracteres de valor do Registro existentes. Se uma cadeia de caracteres de anexação já ocorrer no valor do Registro, a ocorrência original da cadeia de caracteres será removida.
  • Se um [~] estiver no início e no final ou no início nem no final da lista de cadeias de caracteres, as cadeias de caracteres devem substituir as cadeias de caracteres de valor existentes do Registro.
  • Caso contrário, o valor será interpretado e armazenado como uma cadeia de caracteres (REG_SZ).

Component_

A chave externa na primeira coluna da tabela componente referenciando o componente que controla a instalação do valor do Registro.

Observações

As ações WriteRegistryValues e RemoveRegistryValues em tabelas de sequência processar as informações nesta tabela. Para obter informações sobre como usar tabelas de sequência, consulte Usando uma tabela de sequência.

As informações do Registro são gravadas no registro do sistema quando o componente correspondente foi selecionado para ser instalado localmente ou executado na origem.

Observe que o instalador remove uma chave do Registro depois de remover o último valor ou subchave sob a chave. Para impedir que uma chave vazia do Registro seja removida ao desinstalar, escreva um valor fictício sob a chave que você precisa manter e inserir + na coluna Nome. Se * estiver na coluna Nome, a chave será excluída, com todos os seus valores e subchaves, quando o componente for removido.

Uma ação personalizada pode ser usada para adicionar linhas à tabela registro durante uma instalação, desinstalação ou transação de reparo. Essas linhas não persistem na tabela registro e as informações só estão disponíveis durante a transação atual. Portanto, a ação personalizada deve ser executada em todas as transações de instalação, desinstalação ou reparo que exijam as informações nessas linhas adicionais. A ação personalizada deve vir antes que o RemoveRegistryValues e WriteRegistryValues ações na sequência de ações.

Para obter informações sobre como proteger uma chave do Registro, consulte a tabela MsiLockPermissionsEx e da tabela LockPermissions.

Validação

ICE02
ICE03
ICE06
ICE32
ICE38
ICE43
ICE46
ICE49
ICE53
ICE55
ICE57
ICE70
ICE80