Поделиться через


Таблица подписей

В таблице сигнатуры содержатся сведения, которые однозначно идентифицируют подпись файла. Дополнительные сведения о подписях см. в цифровых подписей иустановщика Windows.

Таблица сигнатуры содержит следующие столбцы.

Столбец Тип Ключ Допустимое значение NULL
Подпись идентификатора Y N
Имя файла текста N N
MinVersion текста N Y
MaxVersion текста N Y
MinSize DoubleInteger N Y
MaxSize DoubleInteger N Y
MinDate DoubleInteger N Y
MaxDate DoubleInteger N Y
Языки текста N Y

 

Столбцы

подпись

Столбец подписи — это уникальная подпись файла.

имя файла

Имя файла.

MinVersion

Минимальная версия файла с сравнением языков. Если это поле указано, файл должен иметь версию, которая по крайней мере равна MinVersion. Если файл имеет равную версию значению поля MinVersion, но язык, указанный в столбце "Языки", отличается, файл не соответствует критериям фильтра подписи.

Заметка

Язык, указанный в столбце "Языки", используется в сравнении, и нет способа игнорировать язык. Если требуется, чтобы файл соответствовал требованию поля MinVersion независимо от языка, необходимо ввести значение в поле MinVersion, которое меньше фактического значения. Например, если минимальная версия фильтра — 2.0.2600.1183, используйте 2.0.2600.1182, чтобы найти файл без сопоставления языковых сведений.

 

MaxVersion

Максимальная версия файла. Если это поле задано, то файл должен иметь версию, которая в большинстве случаев равна MaxVersion.

MinSize

Минимальный размер файла. Если это поле указано, то файл под проверкой должен иметь размер, равный по крайней мере minSize. Это должно быть не отрицательное число.

MaxSize

Максимальный размер файла. Если это поле указано, то файл под проверкой должен иметь максимальный размер, равный MaxSize. Это должно быть не отрицательное число.

MinDate

Минимальная дата изменения и время файла. Если это поле указано, то файл под проверкой должен иметь дату изменения и время, которое по крайней мере равно MinDate. Это должно быть не отрицательное число. Формат этого поля состоит из двух упакованных 16-разрядных значений типа WORD. Значение word высокого порядка указывает дату в формате даты MS-DOS. Значение word с низким порядком указывает время в формате MS-DOS времени. Значение 0 для значения времени представляет полночь. См. раздел "Примечания".

MaxDate

Максимальная дата создания файла. Если это поле указано, то файл под проверкой должен иметь дату создания, которая не превышает MaxDate. Это должно быть не отрицательное число. Формат этого поля состоит из двух упакованных 16-разрядных значений типа WORD. Значение word высокого порядка указывает дату в формате даты MS-DOS. Значение word с низким порядком указывает время в формате MS-DOS времени. Значение 0 для значения времени представляет полночь. См. раздел "Примечания".

Языки

Языки, поддерживаемые файлом.

Замечания

Эта таблица используется с таблицей AppSearch.

Подпись выполняется поиск по таблице RegLocator, таблице IniLocator, таблицейCompLocator и таблицей drLocator DrLocator. Столбцы этой таблицы обычно не локализованы. Если автор решит искать продукты на нескольких языках, то для каждого языка может быть отдельная запись.

В таблице подписей обычно следуют правила управления версиями файловустановщика Windows. Языки, указанные в столбце "Языки" таблицы сигнатур, не оцениваются, если версии файлов не эквивалентны. Столбец "Языки" гарантирует, что файл имеет определенный язык, если он имеет запрошенную версию. Нет метода, который можно игнорировать в столбце "Языки". Значение NULL, введенное в столбце "Языки", обрабатывается как файл без языка и не соответствует сигнатуре файла с языком, отображаемым в таблице подписей. В следующем примере выполняется поиск определенной версии MSI.DLL.

таблицы DrLocator

Подпись_ Родитель Путь Глубина
MsiDll {null} c:\windows\system32 0

 

таблицу AppSearch

Свойство Подпись_
MSIDLL MsiDll

 

Таблица подписи

Подпись Имя файла MinVersion MaxVersion MinSize MaxSize MinDate MaxDate Языки
MsiDll msi.dll 2.0.2600.1106 {null} {null} {null} {null} {null} 0

 

В этом случае и в Windows XP с пакетом обновления 1 (SP1) действие AppSearch задает MSIDLL значение c:\windows\system32\msi.dll, так как MSI.DLL является нейтральным языком. Если значение столбца "Языки" изменяется с 0 до 1033, действие AppSearch не сможет найти соответствующий msi.dll, а свойство MSIDLL не определено.

Таблицу сигнатур нельзя использовать для запроса только на языках. Для поиска разных языковых версий файла необходимо иметь отдельную запись в таблице сигнатур для каждой языковой версии. Если в столбце "Языки" указано несколько языков, поиск находится в файле, который поддерживает все эти языки.

Формат столбцов MinDate и MaxDate — это два упакованных 16-разрядных значения типа WORD.

Дата WORD

Биты Содержание
0–4 День месяца (1-31)
5-8 Месяц (1 = январь, 2 = февраль и т. д.)
9-15 Смещение года от 1980 (добавьте 1980, чтобы получить фактический год)

 

Время WORD

Биты Содержание
0–4 Секунды, разделенные на 2
5-10 Минуты (0-59)
11-15 Час(0-23 в 24 часах часов)

 

Формула вычисления значений полей MinDate и MaxDate:

( год - 1980) * 512 + месяц * 32 + день ) * 65536 + часы * 2048 + минуты * 32 + секунды/2

Ратификация

ICE03
ICE06