MsiOpenPackageExA-Funktion (msi.h)
Die MsiOpenPackageEx-Funktion öffnet ein Paket, das mit Funktionen verwendet werden kann, die auf die Produktdatenbank zugreifen. Die MsiCloseHandle-Funktion muss mit dem Handle aufgerufen werden, wenn das Handle nicht mehr benötigt wird.
Syntax
UINT MsiOpenPackageExA(
[in] LPCSTR szPackagePath,
[in] DWORD dwOptions,
[out] MSIHANDLE *hProduct
);
Parameter
[in] szPackagePath
Der Pfad zum Paket.
[in] dwOptions
Die Bitflags, um anzugeben, ob der Computerzustand ignoriert werden soll. Übergeben Sie 0 (null), um das MsiOpenPackage-Verhalten zu verwenden.
Konstante | Bedeutung |
---|---|
|
Ignorieren Sie den Computerzustand beim Erstellen des Produkthandles. |
[out] hProduct
Ein Zeiger auf eine Variable, die das Produkthandle empfängt.
Rückgabewert
Wert | Bedeutung |
---|---|
|
Die Konfigurationsinformationen sind beschädigt. |
|
Das Produkt konnte nicht geöffnet werden. |
|
Windows Installer lässt die Installation über eine Remotedesktopverbindung nicht zu. |
|
Ein ungültiger Parameter wird an die Funktion übergeben. |
|
Die Funktion wird erfolgreich abgeschlossen. |
Wenn diese Funktion fehlschlägt, gibt sie möglicherweise einen Systemfehlercode zurück. Weitere Informationen finden Sie unter Systemfehlercodes.
Hinweise
Um ein eingeschränktes Produkthandle zu erstellen, das unabhängig vom aktuellen Computerstatus ist und nicht in der Lage ist, den aktuellen Computerstatus zu ändern, verwenden Sie MsiOpenPackageEx mit MSIOPENPACKAGEFLAGS_IGNOREMACHINESTATE in dwOptions festgelegt.
Beachten Sie, dass msiOpenPackageEx beim Erstellen des Produkthandles den aktuellen Computerstatus ignoriert, wenn dwOptions MSIOPENPACKAGEFLAGS_IGNOREMACHINESTATE oder 1 ist. Wenn der Wert von dwOptions 0 ist, ist MsiOpenPackageEx identisch mit MsiOpenPackage und erstellt ein Produkthandle, das davon abhängig ist, ob das von szPackagePath angegebene Paket bereits auf dem Computer installiert ist.
Das eingeschränkte Handle, das mithilfe von MsiOpenPackageEx mit MSIOPENPACKAGEFLAGS_IGNOREMACHINESTATE erstellt wurde, ermöglicht nur die Ausführung von Dialogfeldern, einer Teilmenge der Standardaktionen und benutzerdefinierten Aktionen, die Eigenschaften festlegen ( Benutzerdefinierter Aktionstyp 35, Benutzerdefinierter Aktionstyp 51 und Benutzerdefinierter Aktionstyp 19). Das eingeschränkte Handle verhindert die Verwendung benutzerdefinierter Aktionen, die Dynamic-Link-Bibliotheken, ausführbare Dateien oder Skripts ausführen.
Sie können MsiDoAction für die folgenden Standardaktionen mit dem eingeschränkten Handle aufrufen. Alle anderen Aktionen geben ERROR_FUNCTION_NOT_CALLED zurück, wenn sie mit dem eingeschränkten Handle aufgerufen werden.
- ADMIN
- ADVERTISE
- INSTALL
- SEQUENCE
- AppSearch-Aktion
- CCPSearch
- CostFinalize
- CostInitialize
- FileCost
- FindRelatedProducts
- IsolateComponents-Aktion
- LaunchConditions
- MigrateFeatureStates
- ResolveSource
- RMCCPSearch
- ValidateProductID
Hinweis
Der msi.h-Header definiert MsiOpenPackageEx 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 |