Condividi tramite


Funzione MsiGetProductInfoExW (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 pubblicizzato in un contesto non gestito per utente diverso dall'utente corrente.

Questa funzione è un'estensione della funzione msiGetProductInfo .

Sintassi

UINT MsiGetProductInfoExW(
  [in]                LPCWSTR           szProductCode,
  [in]                LPCWSTR           szUserSid,
  [in]                MSIINSTALLCONTEXT dwContext,
  [in]                LPCWSTR           szProperty,
  [out, optional]     LPWSTR            szValue,
  [in, out, optional] LPDWORD           pcchValue
);

Parametri

[in] szProductCode

PRODUCTCode GUID dell'istanza del prodotto su cui viene eseguita una query.

[in] szUserSid

Identificatore di sicurezza (SID) dell'account in cui esiste l'istanza del prodotto su cui viene eseguita una query. Un NULL specifica il SID utente corrente.

SID Significato
NULL
Utente attualmente connesso.
SID utente
Enumerazione per un utente specifico nel sistema. Un esempio di SID utente è "S-1-3-64-2415071341-1358098788-3127455600-2561".
 
Nota Non è possibile usare la speciale stringa SID "S-1-5-18" (sistema) per enumerare i prodotti installati in base al computer. Se dwContext è "MSIINSTALLCONTEXT_MACHINE", szUserSid deve essere NULL.
 

[in] dwContext

Contesto di installazione dell'istanza del prodotto su cui viene eseguita una query.

Nome Significato
MSIINSTALLCONTEXT_USERMANAGED
Recupera la proprietà product per l'istanza gestita per utente del prodotto.
MSIINSTALLCONTEXT_USERUNMANAGED
Recupera la proprietà product per l'istanza non gestita per utente del prodotto.
MSIINSTALLCONTEXT_MACHINE
Recupera la proprietà product per l'istanza per computer del prodotto.

[in] szProperty

Proprietà su cui viene eseguito l'esecuzione di query.

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 altre informazioni, vedere
proprietà obbligatorie e proprietà .

Proprietà Significato
INSTALLPROPERTY_PRODUCTSTATE
Stato del prodotto restituito in formato stringa come "1" per l'annuncio e "5" per l'installazione.
INSTALLPROPERTY_HELPLINK
Collegamento di supporto. Per altre informazioni, vedere la proprietà ARPHELPLINK.
INSTALLPROPERTY_HELPTELEPHONE
Telefono di supporto. Per altre informazioni, vedere la proprietà ARPHELPTELEPHONE.
INSTALLPROPERTY_INSTALLDATE
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 viene usata l'opzione /v Command-Line Option per riparare il prodotto. Se il prodotto non ha ricevuto riparazioni o patch questa proprietà contiene l'ora in cui il prodotto è stato installato nel computer.
INSTALLPROPERTY_INSTALLEDLANGUAGE
Lingua installata.

Windows Installer 4.5 e versioni precedenti: Non supportato.

INSTALLPROPERTY_INSTALLEDPRODUCTNAME
Nome del prodotto installato. Per altre informazioni, vedere la proprietà ProductName.
INSTALLPROPERTY_INSTALLLOCATION
Percorso di installazione. Per altre informazioni, vedere la proprietà ARPINSTALLLOCATION.
INSTALLPROPERTY_INSTALLSOURCE
Origine dell'installazione. Per altre informazioni, vedere la proprietà SourceDir.
INSTALLPROPERTY_LOCALPACKAGE
Pacchetto memorizzato nella cache locale.
INSTALLPROPERTY_PUBLISHER
Autore. Per altre informazioni, vedere la proprietà manufacturer di .
INSTALLPROPERTY_URLINFOABOUT
Informazioni sull'URL. Per altre informazioni, vedere la proprietà ARPURLINFOABOUT.
INSTALLPROPERTY_URLUPDATEINFO
Informazioni sull'aggiornamento dell'URL. Per altre informazioni, vedere la proprietà ARPURLUPDATEINFO.
INSTALLPROPERTY_VERSIONMINOR
Versione secondaria del prodotto derivata dalla proprietà ProductVersion.
INSTALLPROPERTY_VERSIONMAJOR
Versione principale del prodotto derivata dalla proprietà ProductVersion.
INSTALLPROPERTY_VERSIONSTRING
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 pari a 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 Trasforma.
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 pari a uno (1) indica un prodotto che può essere eseguito da utenti non amministratori usando controllo dell'account utente (UAC) applicazione di patch. 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, non incluso il carattere NULL di terminazione. La funzione può quindi essere chiamata di nuovo per recuperare il valore, con lpValue buffer 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 termina, 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
ERROR_ACCESS_DENIED
Il processo chiamante deve disporre di privilegi amministrativi per ottenere informazioni per un prodotto installato per un utente diverso dall'utente corrente.
ERROR_BAD_CONFIGURATION
I dati di configurazione sono danneggiati.
ERROR_INVALID_PARAMETER
Alla funzione viene passato un parametro non valido.
ERROR_MORE_DATA
Un buffer è troppo piccolo per contenere i dati richiesti.
ERROR_SUCCESS
La funzione è stata completata correttamente.
ERROR_UNKNOWN_PRODUCT
Il prodotto non è stato modificato o disinstallato.
ERROR_UNKNOWN_PROPERTY
La proprietà non è riconosciuta.
Nota La funzione MsiGetProductInfo restituisce ERROR_UNKNOWN_PROPERTY se l'applicazione su cui viene eseguita una query viene pubblicizzata e non installata.
 
ERROR_FUNCTION_FAILED
Errore interno imprevisto.

Osservazioni

Quando la funzione MsiGetProductInfoEx restituisce, 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_DATAe 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à di manutenzione devono essere richiamate tramite le funzioni msiConfigureFeatureMsiConfigureProducto MsiConfigureProductEx.

La funzione msiGetProductInfo restituisce ERROR_UNKNOWN_PROPERTY se l'applicazione su cui viene eseguita una query viene pubblicizzata e non installata. Ad esempio, se l'applicazione viene pubblicizzata 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 non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

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 Requisiti di windows Run-Time.
piattaforma di destinazione Finestre
intestazione msi.h
libreria Msi.lib
dll Msi.dll

Vedere anche

ARPHELPLINK

ARPHELPTELEPHONE

ARPINSTALLLOCATION

ARPPRODUCTICON

ARPURLINFOABOUT

ARPURLUPDATEINFO

Manufacturer

MsiConfigureFeature

MsiConfigureProduct

MsiConfigureProductEx

non supportato in Windows Installer 2.0 e versioni precedenti

codici pacchetto

ProductCode

ProductID

ProductName

ProductVersion

Proprietà

proprietà obbligatorie

SourceDir

funzioni di stato del sistema