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


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

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

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

Столбец Type Ключ Допускает значения NULL
Сигнатура Идентификатор Да N
FileName Text N N
MinVersion Text N Да
MaxVersion Text N Да
MinSize DoubleInteger Нет Да
MaxSize DoubleInteger Нет Да
MinDate DoubleInteger Нет Да
MaxDate DoubleInteger Нет Да
Языки Text N Да

 

Столбцы

Подпись

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

Имени файла

Имя файла.

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. Столбцы этой таблицы, как правило, не локализованы. Если автор решает искать продукты на нескольких языках, в таблицу для каждого языка может быть включена отдельная запись.

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

Таблица DrLocator

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

 

Таблица AppSearch

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

 

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

Сигнатура FileName 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 является файлом, не зависящим от языка. Если значение столбца Languages изменено с 0 на 1033, действие AppSearch не сможет найти соответствующий msi.dll а свойство MSIDLL не определено.

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

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

Дата WORD

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

 

Время WORD

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

 

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

( (Год - 1980) * 512 + Месяц * 32 + День ) * 65536 + Часы * 2048 + Минуты * 32 + Секунды/2

Проверка

ICE03
ICE06