Funzione MsiGetProductInfoExA (msi.h)
La funzione MsiGetProductInfoEx restituisce informazioni sul prodotto per i prodotti annunciati e installati. Questa funzione può recuperare informazioni
informazioni su un'istanza di un prodotto installato con un account utente diverso dall'utente corrente.
Il processo chiamante deve disporre di privilegi amministrativi per un utente diverso dall'utente corrente. La funzione MsiGetProductInfoEx non può eseguire query su un'istanza di un prodotto annunciato in un contesto non gestito per utente per un account utente diverso dall'utente corrente.
Questa funzione è un'estensione della funzione MsiGetProductInfo .
Sintassi
UINT MsiGetProductInfoExA(
[in] LPCSTR szProductCode,
[in] LPCSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] LPCSTR szProperty,
[out, optional] LPSTR szValue,
[in, out, optional] LPDWORD pcchValue
);
Parametri
[in] szProductCode
GUID ProductCode dell'istanza del prodotto su cui viene eseguita una query.
[in] szUserSid
Identificatore di sicurezza (SID) dell'account in cui è presente l'istanza del prodotto su cui viene eseguita una query. Un valore NULL specifica il SID utente corrente.
SID | Significato |
---|---|
|
Utente attualmente connesso. |
|
Enumerazione per un utente specifico nel sistema. Un esempio di SID utente è "S-1-3-64-2415071341-1358098788-3127455600-2561". |
[in] dwContext
Contesto di installazione dell'istanza del prodotto su cui viene eseguita una query.
[in] szProperty
Viene sottoposta a query sulla proprietà .
Proprietà da recuperare. Le proprietà nella tabella seguente possono essere recuperate solo dalle applicazioni già installate. Tutte le proprietà obbligatorie sono sicuramente disponibili, ma altre proprietà sono disponibili solo se la proprietà è impostata. Per ulteriori informazioni, vedere
Proprietà e proprietà obbligatorie.
Proprietà | Significato |
---|---|
|
Stato del prodotto restituito in formato stringa come "1" per annunciato e "5" per installato. |
|
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 dell'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 | Società registrata per l'utilizzo del prodotto. |
RegOwner | Proprietario registrato per l'utilizzo del 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. Un valore di uno (1) indica un prodotto installato usando una trasformazione a più istanze e la proprietà MSINEWINSTANCE . Per altre informazioni, vedere Installazione di più istanze di prodotti e patch. |
Le proprietà nella tabella seguente possono essere recuperate dalle applicazioni annunciate o installate. Queste proprietà non possono essere recuperate per le istanze del prodotto installate in un contesto non gestito per utente per account utente diversi dall'account utente corrente.
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 uno (1) se il prodotto viene annunciato o installato per ogni computer per tutti gli utenti. |
INSTALLPROPERTY_PACKAGECODE | Identificatore del pacchetto da cui è installato un prodotto. Per altre informazioni, vedere la proprietà Codici 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, optional] szValue
Puntatore a un buffer che riceve il valore della proprietà. Questo buffer deve essere sufficientemente grande da contenere le informazioni. Se il buffer è troppo piccolo, la funzione restituisce ERROR_MORE_DATA e imposta *pcchValue sul numero di TCHAR nel valore, senza includere il carattere NULL di terminazione.
Se lpValue è impostato su NULL e pcchValue è impostato su un puntatore valido, la funzione restituisce ERROR_SUCCESS e imposta *pcchValue sul numero di TCHAR nel valore, senza includere il carattere NULL di terminazione. La funzione può quindi essere chiamata di nuovo per recuperare il valore, con buffer lpValue sufficientemente grande da contenere *pcchValue + 1 caratteri.
Se lpValue e pcchValue sono entrambi impostati su NULL, la funzione restituisce ERROR_SUCCESS se il valore esiste, senza recuperare il valore.
[in, out, optional] pcchValue
Puntatore a una variabile che specifica il numero di TCHAR nel buffer lpValue . Quando la funzione viene restituita, questo parametro viene impostato sulle dimensioni del valore richiesto indipendentemente dal fatto che la funzione copia il valore nel buffer specificato. La dimensione viene restituita come numero di TCHAR nel valore richiesto, senza includere il carattere Null di terminazione.
Questo parametro può essere impostato su NULL solo se lpValue è null. In caso contrario, la funzione restituisce ERROR_INVALID_PARAMETER.
Valore restituito
La funzione MsiGetProductInfoEx restituisce i valori seguenti.
Codice restituito | Descrizione |
---|---|
|
Il processo chiamante deve disporre di privilegi amministrativi per ottenere informazioni per un prodotto installato per un utente diverso dall'utente corrente. |
|
I dati di configurazione sono danneggiati. |
|
Alla funzione viene 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.
|
|
Errore interno imprevisto. |
Commenti
Quando viene restituita la funzione MsiGetProductInfoEx , il parametro pcchValue contiene la lunghezza della stringa archiviata nel buffer. Il conteggio restituito non include il carattere Null di terminazione. Se il buffer non è sufficientemente grande, MsiGetProductInfoEx restituisce ERROR_MORE_DATA e il parametro pcchValue contiene le dimensioni della stringa, in TCHAR, senza contare il carattere Null.
La funzione MsiGetProductInfoEx (INSTALLPROPERTY_LOCALPACKAGE) restituisce 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 .
La funzione MsiGetProductInfo restituisce ERROR_UNKNOWN_PROPERTY se l'applicazione sottoposta a query viene pubblicizzata e non installata. Ad esempio, se l'applicazione viene annunciata e non installata, una query per INSTALLPROPERTY_INSTALLLOCATION restituisce un errore di ERROR_UNKNOWN_PROPERTY.
Nota
L'intestazione msi.h definisce MsiGetProductInfoEx 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. 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
Non supportato in Windows Installer 2.0 e versioni precedenti