使用合格元件
限定元件是間接取值的方法,可用來將具有平行功能的元件分組為類別。
若要傳回完整路徑並安裝 限定元件,請呼叫 MsiProvideQualifiedComponent 或 MsiProvideQualifiedComponentEx。
若要列舉所有限定元件限定符和描述性字串,請呼叫 MsiEnumComponentQualifiers。
將元件分組為合格元件類別
- 元件數據表中必須有一筆記錄, 包含在完整元件之新類別中的每個元件。 將元件表中的欄位填寫得與一般元件相同。 請注意,每個合格元件都必須在 Component 資料表的 ComponentId 欄位中輸入唯一的元件識別碼 GUID。
- 為每個限定元件產生限定符文字字串。 限定符必須是唯一的文字字串,可在搜尋限定元件時輕鬆產生。 例如,如果類別中的元件是以語言限定,則數值地區設定標識碼 (LCID) 是合理的限定符字串。
- 針對每個合格的元件,在 PublishComponent 表格中新增一筆記錄。 在 PublishComponent 資料表的 Component_ 欄位中,輸入來自 Component 資料表的合格元件標識碼。 在 [限定符] 資料行中,輸入每個限定元件的限定符字串。 在選用的 AppData 資料行中,輸入當地語系化字串以顯示給用戶,並在此描述合格的元件。 說明字串應該放在AppData字段中,例如“法文字典”,而不只是數值 LCID。 在 [Feature_] 數據行中輸入使用此元件的功能名稱。 此欄位中的功能識別碼也必須列在 功能資料表的 [功能] 資料行中,。
- 產生此合格元件的類別 GUID。 這必須是有效的 GUID。 如果您使用 GUIDGEN 之類的公用程式來產生 GUID,請確定它只包含大寫字母。 針對此類別中的每個合格元件,請在 PublishComponent 資料表的 ComponentId 字段中輸入類別 GUID。
下列範例說明如何將限定元件的「傳真範本」類別撰寫到元件、功能及 PublishComponent 數據表中。
ComponentId | 限定 符 | AppData | 特徵_ | 元件_ |
---|---|---|---|---|
{傳真模板類別 GUID} | 1033 | 美式英文範本 | 傳真範本 | FAXTemplateENU |
1041 | 日文範本 | 傳真範本 | FAXTemplateJPN | |
1054 | 泰文範本 | FAXTemplate | FAXTemplateTHA | |
1031 | 德文範本 | 傳真模板 | FAXTemplateDEU |
元件資料表 (部分資料表)
元件 | ComponentId |
---|---|
FAXTemplateENU | {傳真範本 美式英語元件 GUID} |
FAXTemplateJPN | {傳真範本 (日文) 元件 GUID} |
FAX範本THA | {傳真範本(泰語)元件 GUID} |
FAXTemplateDEU | {傳真範本 (德文) 元件 GUID} |
功能資料表 (部分資料表)
特徵 |
---|
傳真範本 |
傳真模板 |
傳真模板 |
FAXTemplate |