Freigeben über


MsiApplyPatchA-Funktion (msi.h)

Für jedes produkt, das vom Patchpaket als berechtigt zum Empfangen des Patches aufgeführt wird, ruft die MsiApplyPatch--Funktion eine Installation auf und legt die PATCH-Eigenschaft auf den Pfad des Patchpakets fest.

Syntax

UINT MsiApplyPatchA(
  [in] LPCSTR      szPatchPackage,
  [in] LPCSTR      szInstallPackage,
  [in] INSTALLTYPE eInstallType,
  [in] LPCSTR      szCommandLine
);

Parameter

[in] szPatchPackage

Eine mit Null beendete Zeichenfolge, die den vollständigen Pfad zum Patchpaket angibt.

[in] szInstallPackage

Wenn eInstallType- auf INSTALLTYPE_NETWORK_IMAGE festgelegt ist, handelt es sich bei diesem Parameter um eine null-beendete Zeichenfolge, die einen Pfad zu dem Produkt angibt, das gepatcht werden soll. Das Installationsprogramm wendet den Patch auf jedes berechtigte Produkt an, das im Patchpaket aufgeführt ist, wenn szInstallPackage auf NULL festgelegt ist und eInstallType- auf INSTALLTYPE_DEFAULT festgelegt ist.

Wenn eInstallType- INSTALLTYPE_SINGLE_INSTANCE ist, wendet das Installationsprogramm den Patch auf das durch szInstallPackageangegebene Produkt an. In diesem Fall werden andere berechtigte Produkte, die im Patchpaket aufgeführt sind, ignoriert, und der szInstallPackage Parameter enthält die null-beendete Zeichenfolge, die den Produktcode der instanz zum Patch darstellt. Für diese Art von Installation ist das Installationsprogramm unter Windows Server 2003 oder Windows XP erforderlich.

[in] eInstallType

Dieser Parameter gibt den Installationstyp an, der gepatcht werden soll.

Installationstyp Bedeutung
INSTALLTYPE_NETWORK_IMAGE
Gibt eine Administratorinstallation an. In diesem Fall muss szInstallPackage auf einen Paketpfad festgelegt werden. Der Wert 1 für INSTALLTYPE_NETWORK_IMAGE legt diesen wert für eine Administratorinstallation fest.
INSTALLTYPE_DEFAULT
Sucht nach Produkten, die gepatcht werden sollen. In diesem Fall muss szInstallPackage 0 sein.
INSTALLTYPE_SINGLE_INSTANCE
Patchen Sie das durch szInstallPackageangegebene Produkt. szInstallPackage ist der Produktcode der Instanz, die gepatcht werden soll. Für diese Art von Installation ist das Installationsprogramm unter Windows Server 2003 oder Windows XP mit SP1 erforderlich. Weitere Informationen finden Sie unter Installieren mehrerer Instanzen von Produkten und Patches.

[in] szCommandLine

Eine mit Null beendete Zeichenfolge, die Befehlszeileneigenschafteneinstellungen angibt. Informationen zu Eigenschaften und Festlegen von Werten für öffentliche Eigenschaften in der Befehlszeile. Weitere Informationen finden Sie im Abschnitt "Hinweise".

Rückgabewert

Wert Bedeutung
ERROR_SUCCESS
Die Funktion wurde erfolgreich abgeschlossen.
ERROR_PATCH_PACKAGE_OPEN_FAILED
Das Patchpaket konnte nicht geöffnet werden.
ERROR_PATCH_PACKAGE_INVALID
Das Patchpaket ist ungültig.
ERROR_PATCH_PACKAGE_UNSUPPORTED
Das Patchpaket wird nicht unterstützt.
Ein Fehler im Zusammenhang mit einer Aktion
Siehe Fehlercodes.
Initialisierungsfehler
Ein Initialisierungsfehler ist aufgetreten.

Bemerkungen

Da das Listentrennzeichen für Transformationen, Quellen und Patches ein Semikolon ist, sollte dieses Zeichen nicht für Dateinamen oder Pfade verwendet werden.

  

Sie müssen die eigenschaft REINSTALL in der Befehlszeile festlegen, wenn Sie ein kleines Update oder kleineres Upgrade Patch anwenden. Ohne diese Eigenschaft wird der Patch auf dem System registriert, kann jedoch keine Dateien aktualisieren. Für Patches, die keinen benutzerdefinierten Aktionstyp 51 verwenden, automatisch die NEUinstallation und EIGENSCHAFTEN NEU INSTALLIERENMODE festlegen, muss die eigenschaft REINSTALL explizit mit dem parameter szCommandLine festgelegt werden. Legen Sie die NEUINSTALLATION Eigenschaft fest, um die features auflisten, die vom Patch betroffen sind, oder verwenden Sie eine praktische Standardeinstellung von "REINSTALL=ALL". Der Standardwert der eigenschaft REINSTALLMODE ist "omus". Ab Windows Installer Version 3.0 ist die INSTALL-Eigenschaft vom Installationsprogramm konfiguriert und muss nicht in der Befehlszeile festgelegt werden.

 

Anmerkung

Der msi.h-Header definiert MsiApplyPatch 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

Fehlercodes

Initialisierungsfehler

Multiple-Package Installationen

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