Share via


MsiGetProductInfoExW-Funktion (msi.h)

Die MsiGetProductInfoEx-Funktion gibt Produktinformationen für angekündigte und installierte Produkte zurück. Diese Funktion kann Informationen abrufen.

über eine instance eines Produkts, das unter einem anderen Benutzerkonto als dem aktuellen Benutzer installiert ist.

Der aufrufende Prozess muss über Administratorrechte für einen Benutzer verfügen, der sich vom aktuellen Benutzer unterscheidet. Die MsiGetProductInfoEx-Funktion kann keine instance eines Produkts abfragen, das unter einem benutzerspezifischen nicht verwalteten Kontext für ein anderes Benutzerkonto als den aktuellen Benutzer angekündigt wird.

Diese Funktion ist eine Erweiterung der MsiGetProductInfo-Funktion .

Syntax

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

Parameter

[in] szProductCode

Die ProductCode-GUID des Produkts instance, das abgefragt wird.

[in] szUserSid

Die Sicherheits-ID (SID) des Kontos, unter dem die instance des abgefragten Produkts vorhanden ist. Null gibt die aktuelle Benutzer-SID an.

SID Bedeutung
NULL
Der aktuell angemeldete Benutzer.
Benutzer-SID
Die Enumeration für einen bestimmten Benutzer im System. Ein Beispiel für benutzer-SID ist "S-1-3-64-2415071341-1358098788-3127455600-2561".
 
Hinweis Die spezielle SID-Zeichenfolge "S-1-5-18" (System) kann nicht verwendet werden, um produkte aufzulisten, die pro Maschine installiert sind. Wenn dwContext "MSIINSTALLCONTEXT_MACHINE" ist, muss szUserSidNULL sein.
 

[in] dwContext

Der Installationskontext des produkts instance, das abgefragt wird.

Name Bedeutung
MSIINSTALLCONTEXT_USERMANAGED
Ruft die Produkteigenschaft für die benutzerseitig verwaltete instance des Produkts ab.
MSIINSTALLCONTEXT_USERUNMANAGED
Ruft die Produkteigenschaft für die pro Benutzer nicht verwaltete instance des Produkts ab.
MSIINSTALLCONTEXT_MACHINE
Ruft die Produkteigenschaft für die computerspezifische instance des Produkts ab.

[in] szProperty

Eigenschaft wird abgefragt.

Die abzurufende Eigenschaft. Die Eigenschaften in der folgenden Tabelle können nur von Anwendungen abgerufen werden, die bereits installiert sind. Alle erforderlichen Eigenschaften sind garantiert verfügbar, aber andere Eigenschaften sind nur verfügbar, wenn die Eigenschaft festgelegt ist. Weitere Informationen finden Sie unter
Erforderliche Eigenschaften und Eigenschaften.

Eigenschaft Bedeutung
INSTALLPROPERTY_PRODUCTSTATE
Der Zustand des Produkts wird in Zeichenfolgenform als "1" für angekündigt und "5" für installiert zurückgegeben.
INSTALLPROPERTY_HELPLINK
Der Supportlink. Weitere Informationen finden Sie unter der Eigenschaft ARPHELPLINK.
INSTALLPROPERTY_HELPTELEPHONE
Das 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 installierte Produktname. 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 Verleger. Weitere Informationen finden Sie unter der Eigenschaft Manufacturer.
INSTALLPROPERTY_URLINFOABOUT
URL-Informationen. Weitere Informationen finden Sie unter der Eigenschaft ARPURLINFOABOUT.
INSTALLPROPERTY_URLUPDATEINFO
Die URL-Updateinformationen. Weitere Informationen finden Sie unter der Eigenschaft ARPURLUPDATEINFO.
INSTALLPROPERTY_VERSIONMINOR
Die Nebenproduktversion, die von der ProductVersion-Eigenschaft abgeleitet ist.
INSTALLPROPERTY_VERSIONMAJOR
Die Hauptversion des Produkts, die von der ProductVersion-Eigenschaft 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. Weitere Informationen finden Sie unter der Eigenschaft ProductID.
RegCompany Das Unternehmen, das für die Verwendung des Produkts registriert ist.
RegOwner Der Besitzer, der für die Verwendung des Produkts registriert ist.
 

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 mit mehreren instance Transformation und der MSINEWINSTANCE-Eigenschaft installiert wurde. Weitere Informationen finden Sie unter Installieren mehrerer Instanzen von Produkten und Patches.
 

Die Eigenschaften in der folgenden Tabelle können von Anwendungen abgerufen werden, die angekündigt oder installiert werden. Diese Eigenschaften können nicht für Produktinstanzen abgerufen werden, die in einem nicht verwalteten Installationskontext pro Benutzer für andere Benutzerkonten als das aktuelle Benutzerkonto installiert werden.

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

„1“, wenn das Produkt pro Computer für alle Benutzer angekündigt oder installiert wird.

INSTALLPROPERTY_PACKAGECODE Bezeichner des Pakets, aus dem ein Produkt installiert wird. Weitere Informationen finden Sie in der Package Codes-Eigenschaft .
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 Der Wert 1 (1) gibt ein Produkt an, das von Nicht-Administratoren mithilfe des Patchens der Benutzerkontensteuerung (UAC) gewartet werden kann. Ein fehlender Wert oder ein Wert von 0 (null) gibt an, dass patching mit den geringsten Rechten nicht aktiviert ist. Verfügbar in Windows Installer 3.0 oder höher.

[out, optional] szValue

Ein Zeiger auf einen Puffer, der den Eigenschaftswert empfängt. Dieser Puffer sollte groß genug sein, um die Informationen zu enthalten. Wenn der Puffer zu klein ist, gibt die Funktion ERROR_MORE_DATA zurück und legt *pcchValue auf die Anzahl von TCHAR im Wert fest, wobei das abschließende NULL-Zeichen nicht eingeschlossen wird.

Wenn lpValue auf NULL und pcchValue auf einen gültigen Zeiger festgelegt ist, gibt die Funktion ERROR_SUCCESS und *pcchValue auf die Anzahl von TCHAR im Wert fest, ohne das abschließende NULL-Zeichen. Die Funktion kann dann erneut aufgerufen werden, um den Wert abzurufen, wobei der Puffer lpValue groß genug ist, um *pcchValue + 1 Zeichen zu enthalten.

Wenn lpValue und pcchValue beide auf NULL festgelegt sind, gibt die Funktion ERROR_SUCCESS zurück, wenn der Wert vorhanden ist, ohne den Wert abzurufen.

[in, out, optional] pcchValue

Ein Zeiger auf eine Variable, die die Anzahl von TCHAR im lpValue-Puffer angibt. Wenn die Funktion zurückgibt, wird dieser Parameter auf die Größe des angeforderten Werts festgelegt, unabhängig davon, ob die Funktion den Wert in den angegebenen Puffer kopiert oder nicht. Die Größe wird als Anzahl von TCHAR im angeforderten Wert zurückgegeben, ohne das abschließende NULL-Zeichen.

Dieser Parameter kann nur auf NULL festgelegt werden, wenn lpValue ebenfalls NULL ist. Andernfalls gibt die Funktion ERROR_INVALID_PARAMETER zurück.

Rückgabewert

Die MsiGetProductInfoEx-Funktion gibt die folgenden Werte zurück.

Rückgabecode Beschreibung
ERROR_ACCESS_DENIED
Der aufrufende Prozess muss über Administratorrechte verfügen, um Informationen zu einem Produkt abzurufen, das für einen anderen Benutzer oder eine andere Benutzerin als den aktuellen Benutzer bzw. die aktuelle Benutzerin installiert ist.
ERROR_BAD_CONFIGURATION
Die Konfigurationsdaten sind beschädigt.
ERROR_INVALID_PARAMETER
Ein ungültiger Parameter wird an die Funktion übergeben.
ERROR_MORE_DATA
Ein Puffer ist zu klein, um die angeforderten Daten zu speichern.
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 wird.
 
ERROR_FUNCTION_FAILED
Ein unerwarteter interner Fehler.

Hinweise

Wenn die MsiGetProductInfoEx-Funktion zurückgibt, enthält der pcchValue-Parameter die Länge der im Puffer gespeicherten Zeichenfolge. Die zurückgegebene Anzahl enthält nicht das abschließende NULL-Zeichen. Wenn der Puffer nicht groß genug ist, gibt MsiGetProductInfoExERROR_MORE_DATA zurück, und der parameter pcchValue enthält die Größe der Zeichenfolge in TCHAR, ohne das NULL-Zeichen zu zählen.

Die MsiGetProductInfoEx-Funktion (INSTALLPROPERTY_LOCALPACKAGE) gibt einen Pfad zum zwischengespeicherten Paket zurück. Das zwischengespeicherte Paket ist nur zur internen Verwendung vorgesehen. Installationen im Wartungsmodus müssen über die Funktionen MsiConfigureFeature, MsiConfigureProduct oder MsiConfigureProductEx aufgerufen werden.

Die MsiGetProductInfo-Funktion gibt ERROR_UNKNOWN_PROPERTY zurück, wenn die abgefragte Anwendung angekündigt und nicht installiert wird. Wenn die Anwendung beispielsweise angekündigt und nicht installiert wird, gibt eine Abfrage für INSTALLPROPERTY_INSTALLLOCATION den Fehler ERROR_UNKNOWN_PROPERTY zurück.

Hinweis

Der msi.h-Header definiert MsiGetProductInfoEx 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
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. Informationen zum minimal 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

ARPHELPLINK

ARPHELPTELEPHONE

ARPINSTALLLOCATION

ARPPRODUCTICON

ARPURLINFOABOUT

ARPURLUPDATEINFO

Manufacturer

MsiConfigureFeature

MsiConfigureProduct

MsiConfigureProductEx

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

Paketcodes

ProductCode

ProductID

ProductName

ProductVersion

Eigenschaften

Erforderliche Eigenschaften

SourceDir

Systemstatusfunktionen