Condividi tramite


Componenti qualificati

Un componente qualificato è un metodo di riferimento indiretto a livello singolo, simile a un puntatore. I componenti qualificati vengono usati principalmente per raggruppare i componenti con funzionalità parallele in categorie. Ad esempio, se nella tabella Componente sono elencati 30 componenti che sono gli stessi modelli fax di Microsoft Word localizzati in 30 lingue, è possibile raggrupparli in una categoria di componenti qualificati utilizzando la tabella PublishComponent.

I componenti qualificati vengono immessi nella tabella Component nello stesso modo dei componenti ordinari. Ogni componente deve avere un GUID ID componente univoco e un identificatore del componente specificati nella tabella Component. Inoltre, i componenti qualificati sono associati a un GUID di categoria e a un qualificatore di stringa di testo nella tabella PublishComponent. I componenti qualificati fanno riferimento al GUID di categoria e al qualificatore, che punta solo al componente ordinario nella tabella Component.

Ad esempio, un GUID di ID componente qualificato può puntare a diverse versioni del linguaggio di una DLL di risorsa. In questo caso, il gruppo di DLL di risorse localizzate comprende la categoria e le stringhe LCID (Numeric Locale Identifiers) vengono comunemente usate come qualificatori. Uno sviluppatore può creare un pacchetto di installazione che usa questi componenti qualificati per eseguire le operazioni seguenti:

  • Trovare il percorso di una determinata versione del linguaggio della DLL della risorsa usando MsiProvideQualifiedComponent o MsiProvideQualifiedComponentEx e installare la risorsa.
  • Determinare tutte le versioni del linguaggio della DLL della risorsa presenti chiamando MsiEnumComponentQualifiers.
  • Preparare l'applicazione per supportare altre lingue. Un Language Pack futuro per l'applicazione può usare il componente completo per aggiungere altre versioni del linguaggio della DLL della risorsa.

Per altre informazioni, vedere Uso di componenti qualificati.