共用方式為


簽章數據表

Signature 數據表會保存可唯一識別檔案簽章的資訊。 如需簽章的詳細資訊,請參閱 數位簽名和 Windows Installer

Signature 數據表具有下列數據行。

類型 鑰匙
簽名 識別碼 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

 

簽章

[簽章] 數據行是唯一的檔案簽章。

FileName

檔名。

MinVersion

檔案的最低版本,具有語言比較。 如果指定此欄位,則檔案必須至少有等於 MinVersion 的版本。 如果檔案的版本與 MinVersion 域值相等,但 Language 數據行中指定的語言不同,則檔案不符合簽章篩選準則。

注意

[語言] 資料行中指定的語言會用於比較中,而且無法忽略語言。 如果您希望檔案符合 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 數據表來搜尋簽章。 此數據表的數據行通常不會當地語系化。 如果作者決定搜尋多種語言的產品,則每個語言的數據表中可以包含個別的專案。

[簽章] 數據表通常會遵循 Windows Installer 檔案版本設定規則。 除非檔案版本相等,否則不會評估 Signature 資料表之 Languages 數據行中指定的語言。 [語言] 資料行可確保檔案是特定語言,如果檔案是所要求的版本。 沒有方法可以忽略 [語言] 資料行。 在 [語言] 數據行中輸入的 NULL 值會視為沒有語言的檔案,而且與出現在 Signature 數據表中的語言不符檔案簽章。 下列範例會搜尋特定版本的 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 SP1 上,AppSearch 巨集指令 將 MSIDLL 設定為 c:\windows\system32\msi.dll,因為MSI.DLL是語言中性檔案。 如果 Languages 資料行的值從 0 變更為 1033,則 AppSearch 巨集指令找不到相符 msi.dll 且 MSIDLL 屬性未定義。

您無法單獨使用 Signature 資料表來查詢語言。 若要搜尋不同語言版本的檔案,您必須在 [簽章] 數據表中針對每個語言版本使用不同的專案。 如果在 [語言] 資料行中提供多種語言,則搜尋會尋找支援所有這些語言的檔案。

MinDate 和 MaxDate 資料行的格式是兩個封裝的 16 位值,類型 WORD

日期 WORD

內容
0–4 當月日 (1-31)
5-8 月 (1 = 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