Patchen von Erstinstallationen
Ein Windows Installer Patch (MSP) kann angewendet werden, wenn eine Anwendung zum ersten Mal mithilfe der PATCH-Eigenschaft installiert wird.
Um bei der ersten Installation der Anwendung einen Patch anzuwenden, muss die PATCH-Eigenschaft in der Befehlszeile festgelegt werden. Geben Sie den vollständigen Pfad zum Patch in der Befehlszeile als Eigenschaftswertpaar "PATCH={ pfad to patch}" an.
Beachten Sie, dass die Angabe der PATCH-Eigenschaft in der Befehlszeile die Patchanwendbarkeitsprüfungen überschreibt, die bei Verwendung von MsiApplyPatch oder der Befehlszeilenoption /p ausgeführt werden.
Wenn ein Patch mit msiApplyPatch oder der Befehlszeilenoption /pangewendet wird, vergleicht das Installationsprogramm die derzeit auf dem Computer installierten Anwendungen mit der Liste der Produktcodes, die zum Empfangen des Patches berechtigt sind, in der Eigenschaft Vorlagenzusammenfassung.
Wenn Sie die PATCH-Eigenschaft in der Befehlszeile so festlegen, dass sie bei der ersten Installation installiert wird, werden die Anwendungen, die zum Empfangen des Patches berechtigt sind, durch Validierungsbedingungen für die in das Patchpaket eingebetteten Transformationen bestimmt. Die empfohlene Methode zum Generieren eines Patchpakets ist die Verwendung eines Tools zum Erstellen von Patches wie Msimsp.exe und PATCHWIZ.DLL. Die Validierungsbedingungen für Transformationen im Patch stammen aus der ProductValidateFlags -Spalte in der TargetImages-Tabelle der PatchErstellungseigenschaftendatei (PCP- Datei).
Der Patch kann angewendet werden, wenn die Anwendung zum ersten Mal über eine Befehlszeile, eine andere Anwendung oder ein Skript installiert wird.
Das folgende Beispiel zeigt das erstmalige Patchen über die Befehlszeile.
msiexec /I package.msi PATCH="c: directory \ \ patch.msp"
Das folgende Beispiel zeigt das erstmalige Patchen aus einer anderen Anwendung.
UINT uiStat = MsiInstallProduct(_T("package.msi"), _T("PATCH=c:\directory\patch.msp"));
Das folgende Beispiel zeigt das erstmalige Patchen aus dem Skript.
Dim Installer as Object
Set Installer = CreateObject("WindowsInstaller.Installer")
Installer.InstallProduct "package.msi", "PATCH=c:\directory\patch.msp"
**Windows Installer 3.0 und höher: **
Ab version Windows Installer 3.0 können mehrere Patches angewendet werden, wenn eine Anwendung zum ersten Mal installiert wird. Legen Sie die PATCH-Eigenschaft auf eine durch Semikolons getrennte Liste der vollständigen Pfade der Patches fest. Das folgende Beispiel 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"