Verwenden qualifizierter Komponenten
Qualifizierte Komponenten sind eine Methode der Dereferenzierung und können verwendet werden, um Komponenten mit paralleler Funktionalität in Kategorien zu gruppieren.
Um den vollständigen Pfad zurückzugeben und eine qualifizierte Komponente zu installieren, rufen Sie MsiProvideQualifiedComponent oder MsiProvideQualifiedComponentEx auf.
Um alle qualifizierten Komponentenqualifizierer und beschreibende Zeichenfolgen aufzuzählen, rufen Sie MsiEnumComponentQualifiers auf.
So gruppieren Sie Komponenten in einer Kategorie für qualifizierte Komponenten
- Für jede Komponente, die in der neuen Kategorie qualifizierter Komponenten eingefügt wird, muss ein Datensatz in der Component-Tabelle vorhanden sein. Erstellen Sie die Felder in der Component-Tabelle genauso wie für gewöhnliche Komponenten. Beachten Sie, dass jede qualifizierte Komponente über eine eindeutige GUID für die Komponenten-ID verfügen muss, die in der ComponentId-Spalte der Component-Tabelle eingegeben wurde.
- Generieren Sie eine Qualifizierertextzeichenfolge für jede qualifizierte Komponente. Der Qualifizierer muss eine eindeutige Textzeichenfolge sein, die bei der Suche nach einer qualifizierten Komponente leicht generiert werden kann. Wenn die Komponenten in der Kategorie beispielsweise anhand der Sprache qualifiziert werden, ist der numerische Gebietsschemabezeichner (LCID) eine sinnvolle Qualifiziererzeichenfolge.
- Fügen Sie in der PublishComponent-Tabelle für jede qualifizierte Komponente einen Datensatz hinzu. Geben Sie die Bezeichner für qualifizierte Komponenten aus der Component-Spalte der Component-Tabelle in die Component_-Spalte der PublishComponent-Tabelle ein. Geben Sie die Qualifiziererzeichenfolgen für jede qualifizierte Komponente in die Qualifier-Spalte ein. Geben Sie eine lokalisierte Zeichenfolge, die dem Benutzer angezeigt werden soll und die qualifizierte Komponente beschreibt, in der optionalen AppData-Spalte ein. Im AppData-Feld sollte eine erklärende Zeichenfolge eingefügt werden, z. B. „Französischwörterbuch“, und nicht nur die numerische LCID. Geben Sie den Namen des Features, das diese Komponente verwendet, in die Feature_-Spalte ein. Der Featurebezeichner in diesem Feld muss auch in der Feature-Spalte der Feature-Tabelle aufgeführt werden.
- Generieren Sie eine Kategorie-GUID für diese Kategorie qualifizierter Komponenten. Dies muss eine gültige GUID sein. Achten Sie darauf, dass die GUID nur Großbuchstaben enthält, wenn Sie ein Hilfsprogramm wie GUIDGEN zum Generieren der GUID verwenden. Geben Sie für jede qualifizierte Komponente in dieser Kategorie die Kategorie-GUID in das ComponentId-Feld der PublishComponent-Tabelle ein.
Im folgenden Beispiel wird veranschaulicht, wie die Kategorie „FAX Templates“ für qualifizierte Komponenten in der Component-, Feature- und PublishComponent-Tabelle erstellt wird.
ComponentId | Qualifizierer | AppData | Feature_ | Component_ |
---|---|---|---|---|
{Kategorie-GUID für FAX Template} | 1033 | US-Englische Vorlage | FAXTemplate | FAXTemplateENU |
1041 | Japanische Vorlage | FAXTemplate | FAXTemplateJPN | |
1054 | Thailändische Vorlage | FAXTemplate | FAXTemplateTHA | |
1031 | Deutsche Vorlage | FAXTemplate | FAXTemplateDEU |
Component-Tabelle (unvollständige Tabelle)
Komponente | ComponentId |
---|---|
FAXTemplateENU | {Komponenten-GUID für FAX Template (US-Englisch)} |
FAXTemplateJPN | {Komponenten-GUID für FAX Template (Japanisch)} |
FAXTemplateTHA | {Komponenten-GUID für FAX Template (Thailändisch)} |
FAXTemplateDEU | {Komponenten-GUID für FAX Template (Deutsch)} |
Feature-Tabelle (unvollständige Tabelle)
Funktion |
---|
FAXTemplate |
FAXTemplate |
FAXTemplate |
FAXTemplate |