Condividi tramite


Funzione MsiProvideQualifiedComponentA (msi.h)

La funzione MsiProvideQualifiedComponent restituisce il percorso completo del componente per un componente qualificato ed esegue qualsiasi installazione necessaria. Questa funzione richiede l'origine se necessario e incrementa il numero di utilizzo per la funzionalità.

Sintassi

UINT MsiProvideQualifiedComponentA(
  [in]      LPCSTR  szCategory,
  [in]      LPCSTR  szQualifier,
  [in]      DWORD   dwInstallMode,
  [out]     LPSTR   lpPathBuf,
  [in, out] LPDWORD pcchPathBuf
);

Parametri

[in] szCategory

Specifica l'ID componente per il componente richiesto. Potrebbe non essere il GUID per il componente stesso, ma piuttosto un server che fornisce la funzionalità corretta, come nella colonna ComponentId della tabella PublishComponent.

[in] szQualifier

Specifica un qualificatore in un elenco di componenti pubblicitari (da PublishComponent Table).

[in] dwInstallMode

Definisce la modalità di installazione. Questo parametro può avere uno dei valori seguenti.

Valore Significato
INSTALLMODE_DEFAULT
Specificare il componente ed eseguire qualsiasi installazione necessaria per fornire il componente. Se il file chiave di un componente nella funzionalità richiesta o un elemento padre di funzionalità non è presente, reinstallare la funzionalità usando MsiReinstallFeature con i bit di flag seguenti impostati: REINSTALLMODE_FILEMISSING, REINSTALLMODE_FILEOLDERVERSION, REINSTALLMODE_FILEVERIFY, REINSTALLMODE_MACHINEDATA, REINSTALLMODE_USERDATA e REINSTALLMODE_SHORTCUT.
INSTALLMODE_EXISTING
Specificare il componente solo se la funzionalità esiste. In caso contrario, restituire ERROR_FILE_NOT_FOUND.

Questa modalità verifica che il file chiave del componente esista.

INSTALLMODE_NODETECTION
Specificare il componente solo se la funzionalità esiste. In caso contrario, restituire ERROR_FILE_NOT_FOUND.

Questa modalità controlla solo che il componente è registrato e non verifica che il file di chiave del componente esista.

combinazione dei flag REINSTALLMODE
Chiamare MsiReinstallFeature per reinstallare la funzionalità usando questo parametro per il parametro dwReinstallMode e quindi specificare il componente.
INSTALLMODE_NOSOURCERESOLUTION
Specificare il componente solo se lo stato di installazione della funzionalità è INSTALLSTATE_LOCAL. Se lo stato di installazione della funzionalità è INSTALLSTATE_SOURCE, restituire ERROR_INSTALL_SOURCE_ABSENT. In caso contrario, restituisce ERROR_FILE_NOT_FOUND. Questa modalità controlla solo che il componente è registrato e non verifica che il file di chiave esista.

[out] lpPathBuf

Puntatore a una variabile che riceve il percorso del componente. Questo parametro può essere null.

[in, out] pcchPathBuf

Puntatore a una variabile che specifica le dimensioni, in caratteri, del buffer a cui punta il parametro lpPathBuf . In input, questa è la dimensione completa del buffer, incluso uno spazio per un carattere null terminante. Se il buffer passato è troppo piccolo, il conteggio restituito non include il carattere null terminante.

Se lpPathBuf è null, pcchBuf può essere null.

Valore restituito

Valore Significato
ERROR_INDEX_ABSENT
Il qualificatore del componente non è valido o assente.
ERROR_SUCCESS
La funzione è stata completata correttamente.
ERROR_FILE_NOT_FOUND
La funzionalità è assente o interrotta. Questo errore viene restituito per dwInstallMode = INSTALLMODE_EXISTING.
ERROR_UNKNOWN_COMPONENT
Il componente specificato è sconosciuto.
Errore relativo a un'azione
Vedere Codici di errore.
Errore di inizializzazione
Si è verificato un errore relativo all'inizializzazione.

Commenti

Al termine della funzione MsiProvideQualifiedComponent , il parametro pcchPathBuf contiene la lunghezza della stringa in lpPathBuf.

Le funzionalità con componenti contenenti un file danneggiato o la versione errata di un file devono essere reinstallate in modo esplicito dall'utente o con la chiamata dell'applicazione MsiReinstallFeature.

Nota

L'intestazione msi.h definisce MsiProvideQualifiedComponent come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows Installer 5.0 in Windows Server 2012, Windows 8, Windows Server 2008 R2 o Windows 7. Windows Installer 4.0 o Windows Installer 4.5 in Windows Server 2008 o Windows Vista. Windows Installer in Windows Server 2003 o Windows XP. Per informazioni sul Service Pack minimo di Windows Richiesto da una versione di Windows Installer, vedere i requisiti di Windows Installer Run-Time.
Piattaforma di destinazione Windows
Intestazione msi.h
Libreria Msi.lib
DLL Msi.dll

Vedi anche

Funzioni specifiche del componente

Messaggi di errore visualizzati

Codici errore

Errore di inizializzazione

Installazioni multiple-package