次の方法で共有


署名テーブル

Signature テーブルには、ファイル署名を一意に識別する情報が保持されます。 署名の詳細については、「デジタル署名と Windows インストーラーの」を参照してください。

Signature テーブルには、次の列があります。

コラム 種類 許容
署名 識別子の Y N
FileName テキスト 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

 

署名

[署名] 列は一意のファイル署名です。

FileName

ファイルの名前。

MinVersion

言語比較を使用したファイルの最小バージョン。 このフィールドを指定する場合、ファイルのバージョンが MinVersion 以上である必要があります。 ファイルのバージョンが MinVersion フィールド値と等しいが、[言語] 列で指定された言語が異なる場合、ファイルは署名フィルター条件を満たしていません。

手記

[言語] 列で指定された言語は比較で使用され、言語を無視する方法はありません。 ファイルが言語に関係なく MinVersion フィールドの要件を満たす場合は、MinVersion フィールドに実際の値より 1 小さい値を入力する必要があります。 たとえば、フィルターの最小バージョンが 2.0.2600.1183 の場合は、2.0.2600.1182 を使用して、言語情報と一致せずにファイルを検索します。

 

MaxVersion の

ファイルの最大バージョン。 このフィールドを指定する場合、ファイルには MaxVersion と最大で等しいバージョンが必要です。

MinSize

ファイルの最小サイズ。 このフィールドを指定する場合、検査対象のファイルのサイズは MinSize 以上である必要があります。 これは負以外の数値である必要があります。

MaxSize の

ファイルの最大サイズ。 このフィールドを指定する場合、検査対象のファイルのサイズは MaxSize 以上である必要があります。 これは負以外の数値である必要があります。

minDate の

ファイルの最小変更日時。 このフィールドが指定されている場合、検査対象のファイルには、MinDate 以上の変更日時が必要です。 これは負以外の数値である必要があります。 このフィールドの形式は、WORD 型の 2 つのパックされた 16 ビット値です。 WORD 高い順序は、日付形式で日付 MS-DOS 指定します。 WORD 低い順序では、時刻の形式 MS-DOS 指定します。 時刻値の値 0 は午前 0 時を表します。 「解説」セクションを参照してください。

MaxDate の

ファイルの最大作成日。 このフィールドを指定する場合、検査対象のファイルの作成日は MaxDate と同じである必要があります。 これは負以外の数値である必要があります。 このフィールドの形式は、WORD 型の 2 つのパックされた 16 ビット値です。 WORD 高い順序は、日付形式で日付 MS-DOS 指定します。 WORD 低い順序では、時刻の形式 MS-DOS 指定します。 時刻値の値 0 は午前 0 時を表します。 「解説」セクションを参照してください。

言語

ファイルでサポートされている言語。

備考

このテーブルは、AppSearch テーブルで使用されます。

シグネチャは、RegLocator テーブルIniLocator テーブルCompLocator テーブル、および DrLocator テーブルを使用して検索されます。 通常、このテーブルの列はローカライズされません。 作成者が複数の言語で製品を検索することを決定した場合は、各言語のテーブルに個別のエントリを含めることができます。

署名テーブルは、一般に、Windows インストーラー ファイルのバージョン管理規則に従います。 Signature テーブルの [言語] 列で指定された言語は、ファイルのバージョンが同等でない限り評価されません。 [言語] 列では、要求されたバージョンの場合、ファイルが特定の言語であることを確認します。 [言語] 列を無視するメソッドはありません。 [言語] 列に入力された NULL 値は、言語のないファイルとして扱われ、ファイルのファイル署名と Signature テーブルに表示される言語と一致しません。 次の例では、特定のバージョンのMSI.DLLを検索します。

DrLocator テーブル する

署名_ パス 深さ
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 SP1 では、MSI.DLLは言語に依存しないファイルであるため、AppSearch アクション によって MSIDLL が c:\windows\system32\msi.dll に設定されます。 Languages 列の値が 0 から 1033 に変更された場合、AppSearch アクションは一致する msi.dll を見つけるのに失敗し、MSIDLL プロパティは未定義です。

Signature テーブルを使用して言語だけを照会することはできません。 ファイルの異なる言語バージョンを検索するには、言語バージョンごとに Signature テーブルに個別のエントリが必要です。 [言語] 列に複数の言語が指定されている場合は、それらの言語をすべてサポートするファイルが検索されます。

MinDate 列と MaxDate 列の形式は、WORD 2 つのパックされた 16 ビット値です。

WORD 日付

ビット コンテンツ
0–4 月の日 (1 から 31)
5-8 月 (1 = 1 月、2 = 2 月など)
9-15 1980 年からの年オフセット (実際の年を取得するために 1980 を追加)

 

WORD 時刻

ビット コンテンツ
0–4 秒を 2 で割った
5-10 分 (0 から 59)
11-15 Hour(0- 23 on 24 hour clock)

 

MinDate フィールド値と MaxDate フィールド値を計算する数式は次のとおりです。

( (年 - 1980) * 512 + 月 * 32 + 日 ) * 65536 + 時間 * 2048 + 分 * 32 + 秒/2

検証

ICE03
ICE06