Tabela do Registo
A tabela Registro contém as informações do Registro que o aplicativo precisa definir no Registro do sistema.
A tabela Registro tem as seguintes colunas.
Coluna | Tipo | Chave | Nulo |
---|---|---|---|
Registo | Identificador | Y | N |
Raiz | inteiro | N | N |
Chave | RegPath | N | N |
Designação | Formatado | N | Y |
Valor | Formatado | N | Y |
Component_ | Identificador | N | N |
Colunas
-
Registo
-
Chave primária usada para identificar um registro do Registro.
-
Raiz
-
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 o valor do Registro a ser gravado sob uma chave raiz específica.
Constante Hexadecimal Decimal Chave raiz (nenhum) - 0x001 -1 Se esta for uma instalação por usuário, o valor do Registro será gravado em HKEY_CURRENT_USER. Se esta for uma instalação por máquina, o valor do Registro será gravado em HKEY_LOCAL_MACHINE. Observe que uma instalação por máquina é 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 as instalações por máquina.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 hive façam referência a um componente com o bit RegistryKeyPath definido na coluna Atributos da tabela Componente . Isso garante que o instalador grava as entradas de registro necessárias quando há vários usuários no mesmo computador.
-
Chave
-
A chave localizável para o valor do Registro.
-
Nome
-
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 Nulo, as cadeias de caracteres mostradas na tabela a seguir na coluna Nome terão significado especial.
String Significado + A chave deve ser criada, se ausente, quando o componente é instalado. - A chave deve ser excluída, se presente, com todos os seus valores e subchaves, quando o componente for desinstalado. * A chave deve ser criada, se ausente, quando o componente é instalado. Além disso, a chave deve ser excluída, se presente, com todos os seus valores e subchaves, quando o componente é desinstalado. Observe que a tabela RemoveRegistry deve ser usada se uma chave do Registro instalada for excluída, com seus valores e subchaves, quando o componente for instalado.
-
Valor
-
Esta coluna é o valor do Registro localizável. O campo é Formatado. Se o valor estiver ligado a um dos seguintes prefixos (ou seja, #%valor), então o valor é interpretado como descrito na tabela. Observe que cada prefixo começa com um sinal numérico (#). 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 a sequência til [~], então o valor será interpretado como uma lista delimitada por nulo de cadeias de caracteres (REG_MULTI_SZ). Por exemplo, para especificar uma lista contendo 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 [~] precede a lista de cadeias de caracteres, as cadeias de caracteres devem ser acrescentadas a quaisquer cadeias de caracteres de valor do Registro existentes. Se já ocorrer um acréscimo de cadeia de caracteres no valor do Registro, a ocorrência original da cadeia de caracteres será removida.
- Se um [~] segue o final da lista de cadeias de caracteres, as cadeias de caracteres devem ser anexadas a quaisquer cadeias de caracteres de valor do Registro existentes. Se uma cadeia de caracteres pendente já ocorrer no valor do Registro, a ocorrência original da cadeia de caracteres será removida.
- Se um [~] estiver no início e no fim ou nem no início nem no final da lista de cadeias de caracteres, as cadeias de caracteres substituirão quaisquer cadeias de caracteres de valor do Registro existentes.
- Caso contrário, o valor será interpretado e armazenado como uma cadeia de caracteres (REG_SZ).
-
Component_
-
Chave externa na primeira coluna da tabela Componente fazendo referência ao componente que controla a instalação do valor do Registro.
Comentários
O WriteRegistryValues e ações de 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 a partir da origem.
Observe que o instalador remove uma chave do Registro depois de remover o último valor ou subchave sob a chave. Para evitar que uma chave de registo vazia seja removida durante a desinstalação, escreva um valor fictício sob a chave que precisa de manter e introduza + 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 do Registro durante uma transação de instalação, desinstalação ou reparo. Essas linhas não persistem na tabela do Registro e as informações só estão disponíveis durante a transação atual. A ação personalizada deve, portanto, 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 do RemoveRegistryValues e ações WriteRegistryValues na sequência de ações.
Para obter informações sobre como proteger uma chave do Registro, consulte a Tabela MsiLockPermissionsEx, e Tabela LockPermissions,.
Validação