Freigeben über


Patchen von Erstinstallationen

Ein Windows Installer Patch (MSP) kann angewendet werden, wenn eine Anwendung zum ersten Mal installiert wird, indem die PATCH-Eigenschaft verwendet wird.

Um einen Patch bei der Erstinstallation der Anwendung anzuwenden, muss die PATCH-Eigenschaft in der Befehlszeile festgelegt werden. Geben Sie den vollständigen Pfad zum Patch in der Befehlszeile als Paar aus Eigenschaft und Wert "PATCH={path to patch}" an.

Beachten Sie, dass beim Angeben der PATCH-Eigenschaft in der Befehlszeile die Patch-Anwendbarkeitsprüfungen überschrieben werden, die bei der Verwendung von MsiApplyPatch oder der Befehlszeilenoption /p ausgeführt werden.

Wenn ein Patch mithilfe von MsiApplyPatch oder der Befehlszeilenoption /p angewendet wird, vergleicht das Installationsprogramm die auf dem Computer installierten Anwendungen mit der Liste der Produktcodes, die berechtigt sind, den Patch in der Template Summary-Eigenschaft zu erhalten.

Wenn Sie die PATCH-Eigenschaft in der Befehlszeile für die Installation bei der ersten Installation festlegen, werden die Anwendungen, die berechtigt sind, den Patch zu erhalten, durch Validierungsbedingungen für die Transformationen bestimmt, die in das Patchpaket eingebettet sind. Die empfohlene Methode zum Generieren eines Patchpakets ist die Verwendung eines Patcherstellungstools wie Msimsp.exe und PATCHWIZ.DLL. Die Überprüfungsbedingungen für Transformationen im Patch stammen aus der Spalte „ProductValidateFlags“ in der TargetImages-Tabelle der Patch Creation Properties-Datei (.pcp).

Der Patch kann angewendet werden, wenn die Anwendung zum ersten Mal über eine Befehlszeile, eine andere Anwendung oder ein Skript installiert wird.

Im Folgenden wird das erstmalige Patchen von der Befehlszeile gezeigt.

msiexec /I package.msi PATCH="c:\directory\patch.msp"

Die folgende Abbildung zeigt das erstmalige Patchen von einer anderen Anwendung.

UINT uiStat = MsiInstallProduct(_T("package.msi"), _T("PATCH=c:\directory\patch.msp"));

Die folgende Abbildung zeigt das erstmalige Patchen über das Skript.

Dim Installer as Object
Set Installer = CreateObject("WindowsInstaller.Installer")
Installer.InstallProduct "package.msi", "PATCH=c:\directory\patch.msp"

**Windows Installer 3.0 oder höher: **

Ab Windows Installer Version 3.0 können bei der Erstinstallation einer Anwendung mehrere Patches angewendet werden. Legen Sie die PATCH-Eigenschaft auf eine durch Semikolons getrennte Liste der vollständigen Pfade der Patches fest. Die folgende Abbildung zeigt das erstmalige Patchen mehrerer Patches über die Befehlszeile.

msiexec /I package.msi PATCH="c:\directory\patch.msp;c:\directory\patch2.msp;c:\directory\patch3.msp"