Partilhar via


Tabela Signature

A tabela Signature contém as informações que identificam exclusivamente uma assinatura de arquivo. Para obter mais informações sobre assinaturas, confira Assinaturas Digitais e o Windows Installer.

A tabela Signature tem as colunas a seguir.

Coluna Tipo Chave Nullable
Assinatura Identificador S N
FileName Texto N N
MinVersion Texto N S
Maxversion Texto N S
MinSize DoubleInteger N S
MaxSize DoubleInteger N S
MinDate DoubleInteger N S
MaxDate DoubleInteger N S
Idiomas Texto N S

 

Colunas

Signature

A coluna Signature é uma assinatura de arquivo exclusiva.

FileName

O nome do arquivo.

MinVersion

A versão mínima do arquivo com uma comparação de idiomas. Se esse campo for especificado, o arquivo deverá ter uma versão, no mínimo, igual a MinVersion. Se o arquivo tiver uma versão igual ao valor do campo MinVersion, mas o idioma especificado na coluna Languages for diferente, o arquivo não atenderá aos critérios de filtro de assinatura.

Observação

O idioma especificado na coluna Languages é usado na comparação e não há como ignorar o idioma. Se você quiser que um arquivo atenda ao requisito do campo MinVersion, independentemente do idioma, insira um valor no campo MinVersion que seja menor que o valor real. Por exemplo, se a versão mínima do filtro for 2.0.2600.1183, use 2.0.2600.1182 para localizar o arquivo sem corresponder às informações de idioma.

 

MaxVersion

A versão máxima do arquivo. Se esse campo for especificado, o arquivo deverá ter uma versão, no máximo, igual a MaxVersion.

MinSize

O tamanho mínimo do arquivo. Se esse campo for especificado, o arquivo em inspeção deverá ter um tamanho, no mínimo, igual a MinSize. Precisa ser um número não negativo.

MaxSize

O tamanho máximo do arquivo. Se esse campo for especificado, o arquivo em inspeção deverá ter um tamanho, no máximo, igual a MaxSize. Precisa ser um número não negativo.

MinDate

A data e hora mínima da modificação do arquivo. Se esse campo for especificado, o arquivo em inspeção deverá ter uma data e hora da modificação, no mínimo, igual a MinDate. Precisa ser um número não negativo. O formato desse campo é dois valores de 16 bits empacotados do tipo WORD. O valor WORD de alta ordem especifica a data no formato de data MS-DOS. O valor WORD de baixa ordem especifica a hora no formato de hora MS-DOS. Um valor de 0 para o valor de hora representa meia-noite. Consulte a seção Comentários.

MaxDate

A data máxima de criação do arquivo. Se esse campo for especificado, o arquivo em inspeção deverá ter uma data de criação, no máximo, igual a MaxDate. Precisa ser um número não negativo. O formato desse campo é dois valores de 16 bits empacotados do tipo WORD. O valor WORD de alta ordem especifica a data no formato de data MS-DOS. O valor WORD de baixa ordem especifica a hora no formato de hora MS-DOS. Um valor de 0 para o valor de hora representa meia-noite. Consulte a seção Comentários.

Languages

Os idiomas compatíveis com o arquivo.

Comentários

Essa tabela é usada com a tabela AppSearch.

A assinatura é pesquisada usando a tabela RegLocator, a tabela IniLocator, a tabela CompLocator e a tabela DrLocator. As colunas dessa tabela geralmente não são localizadas. Se um autor decidir pesquisar produtos em vários idiomas, poderá haver uma entrada separada incluída na tabela para cada idioma.

A tabela Signature geralmente segue as Regras de Controle de Versão de Arquivo do Windows Installer. Os idiomas especificados na coluna Languages da tabela Signature não são avaliados, a menos que as versões do arquivo sejam equivalentes. A coluna Languages garantirá que um arquivo seja de um idioma específico, se for da versão solicitada. Não há métodos disponíveis para ignorar a coluna Languages. Um valor NULL inserido na coluna Languages é tratado como um arquivo sem um idioma e não corresponde à assinatura de um arquivo com um idioma que aparece na tabela Signature. O exemplo a seguir pesquisa uma versão específica do MSI.DLL.

Tabela DrLocator

Signature_ Parent Caminho Profundidade
MsiDll {null} c:\windows\system32 0

 

Tabela AppSearch

Propriedade Signature_
MSIDLL MsiDll

 

Tabela Signature

Assinatura FileName MinVersion Maxversion MinSize MaxSize MinDate MaxDate Idiomas
MsiDll msi.dll 2.0.2600.1106 {null} {null} {null} {null} {null} 0

 

Nesse caso e no Windows XP SP1, a ação AppSearch define MSIDLL como c:\windows\system32\msi.dll porque MSI.DLL é um arquivo neutro de linguagem. Se o valor da coluna Languages for alterado de 0 para 1033, a ação AppSearch não localizará o msi.dll correspondente e a propriedade MSIDLL será indefinida.

Não é possível usar a tabela Signature para consultar apenas idiomas. Para pesquisar diferentes versões de idioma de um arquivo, você deve ter uma entrada separada na tabela Signature para cada versão do idioma. Se vários idiomas forem fornecidos na coluna Languages, a pesquisa será para um arquivo compatível com todos esses idiomas.

O formato das colunas MinDate e MaxDate são dois valores de 16 bits empacotados do tipo WORD.

Data WORD

Bits Conteúdo
0-4 Dia do mês (de 1 a 31)
5-8 Mês (1 = janeiro, 2 = fevereiro e assim por diante)
9-15 Deslocamento anual a partir de 1980 (adicione 1980 para obter o ano real)

 

Hora WORD

Bits Conteúdo
0-4 Segundos divididos por 2
5-10 Minutos (de 0 a 59)
11-15 Hora (de 0 a 23 no relógio de 24 horas)

 

A fórmula para calcular os valores de campo MinDate e MaxDate é:

( (Ano - 1980) * 512 + Mês * 32 + Dia ) * 65536 + Horas * 2048 + Minutos * 32 + Segundos/2

Validação

ICE03
ICE06