MsiGetProductInfoW-Funktion (msi.h)
Die MsiGetProductInfo Funktion gibt Produktinformationen für veröffentlichte und installierte Produkte zurück.
Syntax
UINT MsiGetProductInfoW(
[in] LPCWSTR szProduct,
[in] LPCWSTR szAttribute,
[out] LPWSTR lpValueBuf,
[in, out] LPDWORD pcchValueBuf
);
Parameter
[in] szProduct
Gibt den Produktcode für das Produkt an.
[in] szAttribute
Gibt die abzurufende Eigenschaft an.
Die Erforderliche Eigenschaften sind garantiert verfügbar, aber andere Eigenschaften sind nur verfügbar, wenn diese Eigenschaft festgelegt ist. Weitere Informationen finden Sie unter Eigenschaften. Die Eigenschaften in der folgenden Liste können nur aus anwendungen abgerufen werden, die installiert sind.
Eigentum | Bedeutung |
---|---|
|
Supportlink. Weitere Informationen finden Sie in der ARPHELPLINK--Eigenschaft. |
|
Supporttelefon. Weitere Informationen finden Sie im ARPHELPTELEPHONE--Eigenschaft. |
|
Das letzte Mal, wenn dieses Produkt einen Dienst erhalten hat. Der Wert dieser Eigenschaft wird jedes Mal ersetzt, wenn ein Patch angewendet oder aus dem Produkt entfernt wird, oder die Option /v Command-Line Option verwendet wird, um das Produkt zu reparieren. Wenn das Produkt keine Reparaturen oder Patches erhalten hat, enthält diese Eigenschaft den Zeitpunkt, zu dem dieses Produkt auf diesem Computer installiert wurde. |
|
Installierte Sprache.
Windows Installer 4.5 und frühere: Nicht unterstützt. |
|
Installierter Produktname. Weitere Informationen finden Sie in der eigenschaft ProductName. |
|
Installationsspeicherort. Weitere Informationen finden Sie in der ARPINSTALLLOCATION-Eigenschaft. |
|
Installationsquelle. Weitere Informationen finden Sie in der eigenschaft SourceDir. |
|
Lokales zwischengespeichertes Paket. |
|
Verlag. Weitere Informationen finden Sie in der eigenschaft Manufacturer. |
|
URL-Informationen. Weitere Informationen finden Sie im ARPURLINFOABOUT-Eigenschaft. |
|
URL-Aktualisierungsinformationen. Weitere Informationen finden Sie in der ARPURLUPDATEINFO--Eigenschaft. |
|
Nebenproduktversion, die von der eigenschaft ProductVersion abgeleitet wurde. |
|
Hauptproduktversion abgeleitet von der eigenschaft ProductVersion. |
|
Produktversion. Weitere Informationen finden Sie in der eigenschaft ProductVersion. |
Um die Produkt-ID, den registrierten Besitzer oder das registrierte Unternehmen aus installierten Anwendungen abzurufen, legen Sie szProperty- auf einen der folgenden Textzeichenfolgenwerte fest.
Wert | Beschreibung |
---|---|
Productid | Der Produktbezeichner für das Produkt. Weitere Informationen finden Sie in der eigenschaft ProductID. |
RegCompany | Das Unternehmen, das für die Verwendung dieses Produkts registriert ist. |
RegOwner | Der Besitzer, der für die Verwendung dieses Produkts registriert ist. |
Um den Instanztyp des Produkts abzurufen, legen Sie szProperty- auf den folgenden Wert fest. Diese Eigenschaft ist für angekündigte oder installierte Produkte verfügbar.
Wert | Beschreibung |
---|---|
InstanceType | Ein fehlender Wert oder ein Wert von 0 (Null) gibt eine normale Produktinstallation an. Ein Wert von 1 (eins) gibt ein Produkt an, das mit einer Mehrfachinstanztransformation und der MSINEWINSTANCE-Eigenschaft installiert wurde. Verfügbar mit dem Installationsprogramm unter Windows Server 2003 oder Windows XP mit SP1. Weitere Informationen finden Sie unter Installieren mehrerer Instanzen von Produkten und Patches. |
Die angekündigten Eigenschaften in der folgenden Liste können aus Anwendungen abgerufen werden, die angekündigt oder installiert werden.
Eigentum | Beschreibung |
---|---|
INSTALLPROPERTY_TRANSFORMS | Verwandelt. |
INSTALLPROPERTY_LANGUAGE | Produktsprache. |
INSTALLPROPERTY_PRODUCTNAME | Menschlichen lesbaren Produktnamen. Weitere Informationen finden Sie in der eigenschaft ProductName. |
INSTALLPROPERTY_ASSIGNMENTTYPE | Entspricht 0 (Null), wenn das Produkt pro Benutzer angekündigt oder installiert wird.
Entspricht 1 (eins), wenn das Produkt pro Computer für alle Benutzer angekündigt oder installiert wird. |
INSTALLPROPERTY_PACKAGECODE | Der Bezeichner des Pakets, von dem dieses Produkt installiert wurde. Weitere Informationen finden Sie unter Paketcodes. |
INSTALLPROPERTY_VERSION | Produktversion, die von der eigenschaft ProductVersion abgeleitet wurde. |
INSTALLPROPERTY_PRODUCTICON | Primäres Symbol für das Paket. Weitere Informationen finden Sie in der ARPPRODUCTICON--Eigenschaft. |
INSTALLPROPERTY_PACKAGENAME | Name des ursprünglichen Installationspakets. |
INSTALLPROPERTY_AUTHORIZED_LUA_APP | Ein Wert von 1 gibt ein Produkt an, das von Nichtadministratoren mit Benutzerkontensteuerung (User Account Control, UAC)gewartet werden kann. Ein fehlender Wert oder ein Wert von 0 (Null) gibt an, dass patchen mit geringsten Rechten nicht aktiviert ist. Verfügbar in Windows Installer 3.0 oder höher. |
[out] lpValueBuf
Zeiger auf einen Puffer, der den Eigenschaftswert empfängt. Dieser Parameter kann null sein.
[in, out] pcchValueBuf
Zeigen Sie auf eine Variable, die die Größe des Puffers in Zeichen angibt, auf den der lpValueBuf-Parameter verweist. Bei eingaben ist dies die vollständige Größe des Puffers, einschließlich eines Leerzeichens für ein endendes NULL-Zeichen. Wenn der übergebene Puffer zu klein ist, enthält die zurückgegebene Anzahl nicht das endende Nullzeichen.
Wenn lpValueBuf- null ist, kann pcchValueBuf- null sein. In diesem Fall überprüft die Funktion, ob die Eigenschaft ordnungsgemäß beim Produkt registriert ist.
Rückgabewert
Wert | Bedeutung |
---|---|
|
Die Konfigurationsdaten sind beschädigt. |
|
An die Funktion wurde ein ungültiger Parameter übergeben. |
|
Ein Puffer ist zu klein, um die angeforderten Daten zu speichern. |
|
Die Funktion wurde erfolgreich abgeschlossen. |
|
Das Produkt wird nicht versehentlich oder deinstalliert. |
|
Die Eigenschaft ist nicht erkannt.
Hinweis Die MsiGetProductInfo Funktion gibt ERROR_UNKNOWN_PROPERTY zurück, wenn die abgefragte Anwendung angekündigt und nicht installiert ist.
|
Bemerkungen
Wenn die MsiGetProductInfo-Funktion zurückgegeben wird, enthält der pcchValueBuf Parameter die Länge der im Puffer gespeicherten Zeichenfolge. Die zurückgegebene Anzahl enthält nicht das endende Nullzeichen. Wenn der Puffer nicht groß genug ist, gibt MsiGetProductInfo ERROR_MORE_DATA zurück, und pcchValueBuf- enthält die Größe der Zeichenfolge in Zeichen, ohne das NULL-Zeichen zu zählen.
MsiGetProductInfo-(INSTALLPROPERTY_LOCALPACKAGE) gibt nicht unbedingt einen Pfad zum zwischengespeicherten Paket zurück. Das zwischengespeicherte Paket ist nur für die interne Verwendung vorgesehen. Wartungsmodusinstallationen sollten über die funktionen MsiConfigureFeature, MsiConfigureProductoder MsiConfigureProductEx aufgerufen werden.
Wenn Sie versuchen, MsiGetProductInfo- zum Abfragen eines angekündigten Produkts für eine Eigenschaft zu verwenden, die nur für installierte Produkte verfügbar ist, gibt die Funktion ERROR_UNKNOWN_PROPERTY zurück. Wenn die Anwendung beispielsweise angekündigt und nicht installiert ist, gibt eine Abfrage für die INSTALLPROPERTY_INSTALLLOCATION-Eigenschaft einen Fehler von ERROR_UNKNOWN_PROPERTY zurück.
Anmerkung
Der msi.h-Header definiert MsiGetProductInfo als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows Installer 5.0 unter Windows Server 2012, Windows 8, Windows Server 2008 R2 oder Windows 7. Windows Installer 4.0 oder Windows Installer 4.5 unter Windows Server 2008 oder Windows Vista. Windows Installer unter Windows Server 2003 oder Windows XP. Informationen zum mindestens von einer Windows Installer-Version erforderlichen Windows-Service Pack finden Sie unter den Windows Installer-Run-Time Anforderungen. |
Zielplattform- | Fenster |
Header- | msi.h |
Library | Msi.lib |
DLL- | Msi.dll |
Siehe auch
Bestimmen des Installationskontexts
in Windows Installer 2.0 und früheren nicht unterstützt