Funzione MsiGetProductInfoA (msi.h)
La funzione MsiGetProductInfo restituisce informazioni sul prodotto per i prodotti pubblicati e installati.
Sintassi
UINT MsiGetProductInfoA(
[in] LPCSTR szProduct,
[in] LPCSTR szAttribute,
[out] LPSTR lpValueBuf,
[in, out] LPDWORD pcchValueBuf
);
Parametri
[in] szProduct
Specifica il codice prodotto per il prodotto.
[in] szAttribute
Specifica la proprietà da recuperare.
Le proprietà obbligatorie sono sicuramente disponibili, ma altre proprietà sono disponibili solo se tale proprietà è impostata. Per ulteriori informazioni, vedi Proprietà. Le proprietà nell'elenco seguente possono essere recuperate solo dalle applicazioni installate.
Proprietà | Significato |
---|---|
|
Collegamento di supporto. Per altre informazioni, vedere la proprietà ARPHELPLINK . |
|
Telefono di supporto. Per altre informazioni, vedere la proprietà ARPHELPTELEPHONE . |
|
L'ultima volta che il prodotto ha ricevuto il servizio. Il valore di questa proprietà viene sostituito ogni volta che viene applicata o rimossa una patch dal prodotto o l'opzione della riga di comando /v viene usata per ripristinare il prodotto. Se il prodotto non ha ricevuto riparazioni o patch, questa proprietà contiene l'ora in cui il prodotto è stato installato nel computer. |
|
Lingua installata.
Windows Installer 4.5 e versioni precedenti: Non supportato. |
|
Nome del prodotto installato. Per altre informazioni, vedere la proprietà ProductName . |
|
Percorso di installazione. Per altre informazioni, vedere la proprietà ARPINSTALLLOCATION . |
|
Origine dell'installazione. Per altre informazioni, vedere la proprietà SourceDir . |
|
Pacchetto memorizzato nella cache locale. |
|
Server di pubblicazione. Per altre informazioni, vedere la proprietà Manufacturer . |
|
Informazioni sull'URL. Per altre informazioni, vedere la proprietà ARPURLINFOABOUT . |
|
Informazioni sull'aggiornamento degli URL. Per altre informazioni, vedere la proprietà ARPURLUPDATEINFO . |
|
Versione secondaria del prodotto derivata dalla proprietà ProductVersion . |
|
Versione principale del prodotto derivata dalla proprietà ProductVersion . |
|
Versione del prodotto. Per altre informazioni, vedere la proprietà ProductVersion . |
Per recuperare l'ID prodotto, il proprietario registrato o la società registrata dalle applicazioni installate, impostare szProperty su uno dei valori stringa di testo seguenti.
Valore | Descrizione |
---|---|
ProductID | Identificatore del prodotto. Per altre informazioni, vedere la proprietà ProductID . |
RegCompany | La società registrata per utilizzare questo prodotto. |
RegOwner | Il proprietario registrato per utilizzare questo prodotto. |
Per recuperare il tipo di istanza del prodotto, impostare szProperty sul valore seguente. Questa proprietà è disponibile per i prodotti annunciati o installati.
Valore | Descrizione |
---|---|
Instancetype | Un valore mancante o un valore pari a 0 (zero) indica una normale installazione del prodotto. Il valore 1 (uno) indica un prodotto installato usando una trasformazione a più istanze e la proprietà MSINEWINSTANCE. Disponibile con il programma di installazione che esegue Windows Server 2003 o Windows XP con SP1. Per altre informazioni, vedere Installazione di più istanze di prodotti e patch. |
Le proprietà annunciate nell'elenco seguente possono essere recuperate dalle applicazioni annunciate o installate.
Proprietà | Descrizione |
---|---|
INSTALLPROPERTY_TRANSFORMS | Trasformazioni. |
INSTALLPROPERTY_LANGUAGE | Lingua del prodotto. |
INSTALLPROPERTY_PRODUCTNAME | Nome prodotto leggibile. Per altre informazioni, vedere la proprietà ProductName . |
INSTALLPROPERTY_ASSIGNMENTTYPE | Uguale a 0 (zero) se il prodotto viene annunciato o installato per utente.
Uguale a 1 (uno) se il prodotto viene annunciato o installato per computer per tutti gli utenti. |
INSTALLPROPERTY_PACKAGECODE | Identificatore del pacchetto da cui è stato installato il prodotto. Per altre informazioni, vedere Codici di pacchetto. |
INSTALLPROPERTY_VERSION | Versione del prodotto derivata dalla proprietà ProductVersion . |
INSTALLPROPERTY_PRODUCTICON | Icona primaria per il pacchetto. Per altre informazioni, vedere la proprietà ARPPRODUCTICON . |
INSTALLPROPERTY_PACKAGENAME | Nome del pacchetto di installazione originale. |
INSTALLPROPERTY_AUTHORIZED_LUA_APP | Un valore (1) indica un prodotto che può essere utilizzato da utenti non amministratori tramite l'applicazione di patch al controllo dell'account utente. Un valore mancante o un valore pari a 0 (zero) indica che l'applicazione di patch con privilegi minimi non è abilitata. Disponibile in Windows Installer 3.0 o versione successiva. |
[out] lpValueBuf
Puntatore a un buffer che riceve il valore della proprietà. Questo parametro può essere null.
[in, out] pcchValueBuf
Puntatore a una variabile che specifica le dimensioni, in caratteri, del buffer a cui punta il parametro lpValueBuf . Nell'input si tratta della dimensione completa del buffer, incluso uno spazio per un carattere Null di terminazione. Se il buffer passato è troppo piccolo, il conteggio restituito non include il carattere Null di terminazione.
Se lpValueBuf è null, pcchValueBuf può essere null. In questo caso, la funzione verifica che la proprietà sia registrata correttamente con il prodotto.
Valore restituito
Valore | Significato |
---|---|
|
I dati di configurazione sono danneggiati. |
|
Alla funzione è stato passato un parametro non valido. |
|
Un buffer è troppo piccolo per contenere i dati richiesti. |
|
La funzione è stata completata correttamente. |
|
Il prodotto non è stato modificato o disinstallato. |
|
La proprietà non è riconosciuta.
Nota La funzione MsiGetProductInfo restituisce ERROR_UNKNOWN_PROPERTY se l'applicazione sottoposta a query viene pubblicizzata e non installata.
|
Commenti
Quando viene restituita la funzione MsiGetProductInfo , il parametro pcchValueBuf contiene la lunghezza della stringa archiviata nel buffer. Il conteggio restituito non include il carattere Null di terminazione. Se il buffer non è sufficientemente grande, MsiGetProductInfo restituisce ERROR_MORE_DATA e pcchValueBuf contiene le dimensioni della stringa, in caratteri, senza contare il carattere Null.
MsiGetProductInfo(INSTALLPROPERTY_LOCALPACKAGE) non restituisce necessariamente un percorso al pacchetto memorizzato nella cache. Il pacchetto memorizzato nella cache è solo per uso interno. Le installazioni in modalità manutenzione devono essere richiamate tramite le funzioni MsiConfigureFeature, MsiConfigureProduct o MsiConfigureProductEx .
Se si tenta di usare MsiGetProductInfo per eseguire una query su un prodotto annunciato per una proprietà disponibile solo per i prodotti installati, la funzione restituisce ERROR_UNKNOWN_PROPERTY. Ad esempio, se l'applicazione viene annunciata e non installata, una query per la proprietà INSTALLPROPERTY_INSTALLLOCATION restituisce un errore di ERROR_UNKNOWN_PROPERTY.
Nota
L'intestazione msi.h definisce MsiGetProductInfo come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
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 Windows Installer Run-Time Requirements .See the Windows Installer requirements for information about the minimum Windows Service Pack that is required by a Windows Installer version. |
Piattaforma di destinazione | Windows |
Intestazione | msi.h |
Libreria | Msi.lib |
DLL | Msi.dll |
Vedi anche
Determinazione del contesto di installazione
Non supportato in Windows Installer 2.0 e versioni precedenti