Freigeben über


MsiGetProductInfoExW-Funktion (msi.h)

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

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

Der Aufrufvorgang muss über Administratorrechte für einen Benutzer verfügen, der sich von dem aktuellen Benutzer unterscheidet. Die MsiGetProductInfoEx--Funktion kann keine Instanz eines Produkts abfragen, das unter einem nicht verwalteten Kontext pro Benutzer 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 der Produktinstanz, die abgefragt wird.

[in] szUserSid

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

SID Bedeutung
NULL-
Der aktuell angemeldete Benutzer.
Benutzer-SID-
Die Aufzählung für einen bestimmten Benutzer im System. Ein Beispiel für die Benutzer-SID ist "S-1-3-64-2415071341-1358098788-3127455600-2561".
 
Hinweis Die spezielle SID-Zeichenfolge "S-1-5-18" (System) kann nicht zum Aufzählen von Produkten verwendet werden, die pro Computer installiert sind. Wenn dwContext- "MSIINSTALLCONTEXT_MACHINE" ist, muss szUserSidNULL-sein.
 

[in] dwContext

Der Installationskontext der Produktinstanz, die abgefragt wird.

Name Bedeutung
MSIINSTALLCONTEXT_USERMANAGED
Ruft die Produkteigenschaft für die vom Benutzer verwaltete Instanz des Produkts ab.
MSIINSTALLCONTEXT_USERUNMANAGED
Ruft die Produkteigenschaft für die nicht verwaltete Instanz des Produkts pro Benutzer ab.
MSIINSTALLCONTEXT_MACHINE
Ruft die Produkteigenschaft für die Instanz pro Computer des Produkts ab.

[in] szProperty

Die abgefragte Eigenschaft.

Die abzurufende Eigenschaft. Die Eigenschaften in der folgenden Tabelle können nur aus 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.

Eigentum Bedeutung
INSTALLPROPERTY_PRODUCTSTATE
Der Status des in Zeichenfolgenform zurückgegebenen Produkts als "1" für angekündigte und "5" für die Installation.
INSTALLPROPERTY_HELPLINK
Der Supportlink. Weitere Informationen finden Sie in der ARPHELPLINK--Eigenschaft.
INSTALLPROPERTY_HELPTELEPHONE
Das Supporttelefon. Weitere Informationen finden Sie im ARPHELPTELEPHONE--Eigenschaft.
INSTALLPROPERTY_INSTALLDATE
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.
INSTALLPROPERTY_INSTALLEDLANGUAGE
Installierte Sprache.

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

INSTALLPROPERTY_INSTALLEDPRODUCTNAME
Der name des installierten Produkts. Weitere Informationen finden Sie in der eigenschaft ProductName.
INSTALLPROPERTY_INSTALLLOCATION
Der Installationsspeicherort. Weitere Informationen finden Sie in der ARPINSTALLLOCATION-Eigenschaft.
INSTALLPROPERTY_INSTALLSOURCE
Die Installationsquelle. Weitere Informationen finden Sie in der eigenschaft SourceDir.
INSTALLPROPERTY_LOCALPACKAGE
Das lokale zwischengespeicherte Paket.
INSTALLPROPERTY_PUBLISHER
Der Herausgeber. Weitere Informationen finden Sie in der eigenschaft Manufacturer.
INSTALLPROPERTY_URLINFOABOUT
URL-Informationen. Weitere Informationen finden Sie im ARPURLINFOABOUT-Eigenschaft.
INSTALLPROPERTY_URLUPDATEINFO
Die URL-Aktualisierungsinformationen. Weitere Informationen finden Sie in der ARPURLUPDATEINFO--Eigenschaft.
INSTALLPROPERTY_VERSIONMINOR
Die Nebenproduktversion, die von der eigenschaft ProductVersion abgeleitet wird.
INSTALLPROPERTY_VERSIONMAJOR
Die Hauptproduktversion, die von der eigenschaft ProductVersion abgeleitet wird.
INSTALLPROPERTY_VERSIONSTRING
Die 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. Weitere Informationen finden Sie in 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 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 (1) gibt ein Produkt an, das mithilfe einer Mehrfachinstanztransformation 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 aus Anwendungen abgerufen werden, die angekündigt oder installiert werden. Diese Eigenschaften können nicht für Produktinstanzen abgerufen werden, die unter einem nicht verwalteten Kontext für Benutzerkonten installiert werden, die nicht verwaltet werden, außer für das aktuelle Benutzerkonto.

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 einer (1), wenn das Produkt pro Computer für alle Benutzer angekündigt oder installiert wird.

INSTALLPROPERTY_PACKAGECODE Bezeichner des Pakets, von dem ein Produkt installiert ist. Weitere Informationen finden Sie in der eigenschaft Package Codes.
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, 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 der TCHAR- im Wert, nicht einschließlich des endenden NULL-Zeichens.

Wenn lpValue- auf NULL- und pcchValue- auf einen gültigen Zeiger festgelegt ist, gibt die Funktion ERROR_SUCCESS zurück und legt *pcchValue- auf die Anzahl der TCHAR- im Wert fest, nicht einschließlich des endenden NULL-Zeichens. Die Funktion kann dann erneut aufgerufen werden, um den Wert abzurufen, wobei lpValue Puffer 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 der TCHAR- im lpValue- Puffer angibt. Wenn die Funktion zurückgegeben wird, wird dieser Parameter auf die Größe des angeforderten Werts festgelegt, unabhängig davon, ob die Funktion den Wert in den angegebenen Puffer kopiert. Die Größe wird als Die Anzahl der TCHAR- im angeforderten Wert zurückgegeben, nicht einschließlich des endenden Nullzeichens.

Dieser Parameter kann nur dann auf NULL- festgelegt werden, wenn lpValue- auch NULL-ist. Andernfalls gibt die Funktion ERROR_INVALID_PARAMETERzurück.

Rückgabewert

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

Rückgabecode Beschreibung
ERROR_ACCESS_DENIED
Der Aufrufvorgang muss über Administratorrechte verfügen, um Informationen für ein Produkt abzurufen, das für einen anderen Benutzer als den aktuellen Benutzer installiert ist.
ERROR_BAD_CONFIGURATION
Die Konfigurationsdaten sind beschädigt.
ERROR_INVALID_PARAMETER
An die Funktion wird ein ungültiger Parameter ü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 versehentlich oder deinstalliert.
ERROR_UNKNOWN_PROPERTY
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.
 
ERROR_FUNCTION_FAILED
Unerwarteter interner Fehler.

Bemerkungen

Wenn die MsiGetProductInfoEx--Funktion zurückgegeben wird, enthält der pcchValue Parameter die Länge der Zeichenfolge, die im Puffer gespeichert ist. Die zurückgegebene Anzahl enthält nicht das endende Nullzeichen. Wenn der Puffer nicht groß genug ist, gibt MsiGetProductInfoExERROR_MORE_DATAzurück, und der pcchValue Parameter 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 für die interne Verwendung vorgesehen. Wartungsmodusinstallationen müssen über die funktionen MsiConfigureFeature, MsiConfigureProductoder MsiConfigureProductEx aufgerufen werden.

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

Anmerkung

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
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. 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

ARPHELPLINK-

ARPHELPTELEPHONE

ARPINSTALLLOCATION-

ARPPRODUCTICON

ARPURLINFOABOUT

ARPURLUPDATEINFO

Hersteller-

MsiConfigureFeature-

MsiConfigureProduct-

MsiConfigureProductEx-

in Windows Installer 2.0 und früheren nicht unterstützt

Paketcodes

ProductCode-

ProductID-

ProductName-

ProductVersion-

Eigenschaften

Erforderliche Eigenschaften

SourceDir-

Systemstatusfunktionen