Freigeben über


MsiGetProductInfoA-Funktion (msi.h)

Die MsiGetProductInfo-Funktion gibt Produktinformationen für veröffentlichte und installierte Produkte zurück.

Syntax

UINT MsiGetProductInfoA(
  [in]      LPCSTR  szProduct,
  [in]      LPCSTR  szAttribute,
  [out]     LPSTR   lpValueBuf,
  [in, out] LPDWORD pcchValueBuf
);

Parameter

[in] szProduct

Gibt den Produktcode für das Produkt an.

[in] szAttribute

Gibt die abzurufende Eigenschaft an.

Die erforderlichen Eigenschaften sind garantiert verfügbar, aber andere Eigenschaften sind nur verfügbar, wenn diese Eigenschaft festgelegt ist. Weitere Informationen finden Sie unter Eigenschaftendefiniert sind. Die Eigenschaften in der folgenden Liste können nur von installierten Anwendungen abgerufen werden.

Eigenschaft Bedeutung
INSTALLPROPERTY_HELPLINK
Supportlink. Weitere Informationen finden Sie unter der Eigenschaft ARPHELPLINK.
INSTALLPROPERTY_HELPTELEPHONE
Supporttelefon. Weitere Informationen finden Sie unter der Eigenschaft ARPHELPTELEPHONE.
INSTALLPROPERTY_INSTALLDATE
Der letzte Zeitpunkt, zu dem dieses Produkt gewartet wurde. Der Wert dieser Eigenschaft wird jedes Mal dann ersetzt, wenn ein Patch angewendet oder aus dem Produkt entfernt wird oder die Befehlszeilenoption „/v“ 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.
INSTALLPROPERTY_INSTALLEDLANGUAGE
Installierte Sprache.

Windows Installer 4.5 und früher: Nicht unterstützt.

INSTALLPROPERTY_INSTALLEDPRODUCTNAME
Der Name des installierten Produkts. Weitere Informationen finden Sie unter der Eigenschaft ProductName.
INSTALLPROPERTY_INSTALLLOCATION
Der Installationsspeicherort. Weitere Informationen finden Sie unter der Eigenschaft ARPINSTALLLOCATION.
INSTALLPROPERTY_INSTALLSOURCE
Die Installationsquelle. Weitere Informationen finden Sie unter der Eigenschaft SourceDir.
INSTALLPROPERTY_LOCALPACKAGE
Das lokale zwischengespeicherte Paket.
INSTALLPROPERTY_PUBLISHER
Der Herausgeber. Weitere Informationen finden Sie unter der Eigenschaft Manufacturer.
INSTALLPROPERTY_URLINFOABOUT
URL-Informationen. Weitere Informationen finden Sie unter der Eigenschaft ARPURLINFOABOUT.
INSTALLPROPERTY_URLUPDATEINFO
URL-Updateinformationen. Weitere Informationen finden Sie unter der Eigenschaft ARPURLUPDATEINFO.
INSTALLPROPERTY_VERSIONMINOR
Die Nebenversion des Produkts, die von der Eigenschaft ProductVersion abgeleitet wird.
INSTALLPROPERTY_VERSIONMAJOR
Die Hauptversion des Produkts, die von der Eigenschaft ProductVersion abgeleitet wird.
INSTALLPROPERTY_VERSIONSTRING
Die Produktversion. Weitere Informationen finden Sie unter 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 unter der Eigenschaft ProductID.
RegCompany Das für die Verwendung dieses Produkts registrierte Unternehmen.
RegOwner Der für die Verwendung dieses Produkts registrierte Besitzer.
 

Um den instance Typ 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) weist auf eine normale Produktinstallation hin. Der Wert 1 (1) gibt ein Produkt an, das mithilfe einer Transformation mit mehreren instance und der MSINEWINSTANCE-Eigenschaft installiert wird. Mit dem Installer unter Windows Server 2003 oder Windows XP mit SP1 verfügbar. Weitere Informationen finden Sie unter Installieren mehrerer Instanzen von Produkten und Patches.
 

Die angekündigten Eigenschaften in der folgenden Liste können von Anwendungen abgerufen werden, die angekündigt oder installiert werden.

Eigenschaft BESCHREIBUNG
INSTALLPROPERTY_TRANSFORMS Transformationen:
INSTALLPROPERTY_LANGUAGE Die Produktsprache.
INSTALLPROPERTY_PRODUCTNAME Für Menschen lesbarer Produktname. Weitere Informationen finden Sie unter der Eigenschaft ProductName.
INSTALLPROPERTY_ASSIGNMENTTYPE Entspricht 0 (null), wenn das Produkt pro Benutzer beworben oder installiert wird.

Entspricht 1 (1), wenn das Produkt pro Computer für alle Benutzer angekündigt oder installiert wird.

INSTALLPROPERTY_PACKAGECODE Der Bezeichner des Pakets, aus dem dieses Produkt installiert wurde. Weitere Informationen finden Sie unter Paketcodes.
INSTALLPROPERTY_VERSION Die Produktversion, die von der Eigenschaft ProductVersion abgeleitet wird.
INSTALLPROPERTY_PRODUCTICON Das primäre Symbol für das Paket. Weitere Informationen finden Sie unter der Eigenschaft ARPPRODUCTICON.
INSTALLPROPERTY_PACKAGENAME Der Name des ursprünglichen Installationspakets.
INSTALLPROPERTY_AUTHORIZED_LUA_APP Ein Wert von 1 (1) gibt ein Produkt an, das von Nicht-Administratoren mithilfe von UAC-Patching (User Account Control) gewartet werden kann. Ein fehlender Wert oder ein Wert von 0 (null) gibt an, dass das Patchen mit den 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

Zeiger auf eine Variable, die die Größe des Puffers in Zeichen angibt, auf die der lpValueBuf-Parameter verweist. Bei der Eingabe ist dies die vollständige Größe des Puffers, einschließlich eines Leerzeichens für ein beendendes NULL-Zeichen. Wenn der übergebene Puffer zu klein ist, enthält die zurückgegebene Anzahl nicht das beendende NULL-Zeichen.

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
ERROR_BAD_CONFIGURATION
Die Konfigurationsdaten sind beschädigt.
ERROR_INVALID_PARAMETER
Es wurde ein ungültiger Parameter an die Funktion übergeben.
ERROR_MORE_DATA
Ein Puffer ist zu klein, um die angeforderten Daten aufzunehmen.
ERROR_SUCCESS
Die Funktion wurde erfolgreich abgeschlossen.
ERROR_UNKNOWN_PRODUCT
Das Produkt wird nicht angezeigt oder deinstalliert.
ERROR_UNKNOWN_PROPERTY
Die Eigenschaft wird nicht erkannt.
Hinweis Die MsiGetProductInfo-Funktion gibt ERROR_UNKNOWN_PROPERTY zurück, wenn die abgefragte Anwendung angekündigt und nicht installiert ist.
 

Hinweise

Wenn die MsiGetProductInfo-Funktion zurückgibt, enthält der pcchValueBuf-Parameter die Länge der im Puffer gespeicherten Zeichenfolge. Die zurückgegebene Anzahl enthält nicht das beendende NULL-Zeichen. 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, MsiConfigureProduct oder MsiConfigureProductEx aufgerufen werden.

Wenn Sie versuchen, msiGetProductInfo zum Abfragen eines angekündigten Produkts nach einer 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 den Fehler ERROR_UNKNOWN_PROPERTY zurück.

Hinweis

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 nicht codierungsneutralem Code 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
Unterstützte Mindestversion (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 erforderlichen Windows Service Pack für eine Windows Installer-Version finden Sie unter Windows Installer – Laufzeitanforderungen.
Zielplattform Windows
Kopfzeile msi.h
Bibliothek Msi.lib
DLL Msi.dll

Weitere Informationen

Bestimmen des Installationskontexts

In Windows Installer 2.0 und früher nicht unterstützt

Systemstatusfunktionen