Usar componentes qualificados
Componentes qualificados são um método de indireção e podem ser usados para agrupar componentes com funcionalidades paralelas em categorias.
Para retornar o caminho completo e instalar um componente qualificado, chame MsiProvideQualifiedComponent ou MsiProvideQualifiedComponentEx.
Para enumerar todos os qualificadores de componente qualificados e cadeias de caracteres descritivas, chame MsiEnumComponentQualifiers.
Para agrupar componentes em uma categoria de componente qualificado
- Deve existir um registro para cada componente incluído na nova categoria de componentes qualificados na tabela Component. Crie os campos na tabela Component da mesma forma que para os componentes comuns. Observe que cada componente qualificado deve ter um GUID de ID de componente exclusivo inserido na coluna ComponentId da tabela Component.
- Gere uma cadeia de caracteres de texto do qualificador para cada componente qualificado. O qualificador deve ser uma cadeia de caracteres de texto exclusiva que pode ser facilmente gerada ao pesquisar um componente qualificado. Por exemplo, se os componentes na categoria estiverem sendo qualificados por idioma, a LCID (identificação de localidade) numérica será uma cadeia de caracteres de qualificador razoável.
- Adicione um registro na tabela PublishComponent para cada componente qualificado. Insira os identificadores de componente qualificado da coluna Component da tabela Component na coluna Component_ da tabela PublishComponent. Insira as cadeias de caracteres do qualificador de cada componente qualificado na coluna Qualifier. Insira uma cadeia de caracteres localizada para ser exibida ao usuário e descrevendo o componente qualificado na coluna AppData opcional. Uma cadeia de caracteres explicativa deve ser colocada no campo AppData, como "Dicionário Francês", em vez de apenas o LCID numérico. Insira o nome do recurso que usa esse componente na coluna Feature_. O identificador de recurso nesse campo também deve ser listado na coluna Feature da tabela Feature.
- Gere um GUID de categoria para essa categoria de componentes qualificados. Este deve ser um GUID válido. Se você usar um utilitário como GUIDGEN para gerar o GUID, certifique-se de que ele contenha apenas letras maiúsculas. Para cada componente qualificado nessa categoria, insira o GUID da categoria no campo ComponentId da tabela PublishComponent.
O exemplo a seguir ilustra como a categoria "Modelos de FAX" de componentes qualificados é criada nas tabelas Component, Feature e PublishComponent.
ComponentId | Qualificador | AppData | Feature_ | Component_ |
---|---|---|---|---|
{GUID da categoria do modelo de FAX} | 1033 | Modelo inglês dos EUA | FAXTemplate | FAXTemplateENU |
1041 | Modelo japonês | FAXTemplate | FAXTemplateJPN | |
1054 | Modelo tailandês | FAXTemplate | FAXTemplateTHA | |
1031 | Modelo alemão | FAXTemplate | FAXTemplateDEU |
Tabela Component (tabela parcial)
Componente | ComponentId |
---|---|
FAXTemplateENU | {GUID do componente do modelo de FAX (inglês dos EUA)} |
FAXTemplateJPN | {GUID do componente do modelo de FAX (japonês)} |
FAXTemplateTHA | {GUID do componente do modelo de FAX (tailandês)} |
FAXTemplateDEU | {GUID do componente do modelo de FAX (alemão)} |
Tabela Feature (tabela parcial)
Recurso |
---|
FAXTemplate |
FAXTemplate |
FAXTemplate |
FAXTemplate |