Benutzerdefinierte Aktionen für die Patchdeinstallation

Sie können die Option zum Deinstallieren eines Patch mit benutzerdefinierter Aktion verwenden, um anzugeben, dass das Installationsprogramm die benutzerdefinierte Aktion nur dann ausführen soll, wenn ein Patch deinstalliert wird.

Windows Installer 4.5 und höher: Sie können die Option zum Deinstallieren eines Patch mit benutzerdefinierter Aktion verwenden, um anzugeben, dass das Installationsprogramm die benutzerdefinierte Aktion nur dann ausführen soll, wenn ein Patch deinstalliert wird.

** Windows Installer 4.0 und früher: **

Die Option zum Deinstallieren eines Patch mit benutzerdefinierter Aktion ist nicht verfügbar. Es gibt keine Methode zum Markieren einer benutzerdefinierten Aktion in einem Patchpaket, die ausgeführt werden soll, wenn der Patch deinstalliert wird, da das Installationsprogramm die zu deinstallierenden Patchpakete nicht anwendet.

Damit eine benutzerdefinierte Aktion ausgeführt wird, wenn ein bestimmter Patch deinstalliert wird, muss die benutzerdefinierte Aktion entweder in der ursprünglichen Anwendung oder in einem Patch für das Produkt vorhanden sein, der immer angewendet wird.

Entwickler*innen können mithilfe der MsiPatchRemovalList-Eigenschaft ein Windows Installer-Paket oder einen Patch erstellen, das bzw. der benutzerdefinierte Aktionen zum Entfernen eines Patch ausführt. Die benutzerdefinierte Aktion kann im ursprünglichen Installationspaket, einem Patch, der bereits auf das Paket angewendet wurde, oder einem Patch erstellt werden, der nicht deinstallierbar ist. Die benutzerdefinierte Aktion kann von der MsiPatchRemovalList-Eigenschaft in den Sequenztabellen abhängig gemacht werden. Weitere Informationen zu Bedingungen von Aktionen finden Sie unter Verwenden von Eigenschaften in Bedingungsanweisungen.

Die benutzerdefinierte Aktion kann die GUIDs zu entfernender Patches aus dem Wert der MsiPatchRemovalList-Eigenschaft abrufen. Die benutzerdefinierte Aktion kann durch Aufrufen der Eigenschaften MsiGetPatchInfoEx oder PatchProperty des Patch-Objekts feststellen, ob der Installationsstatus des Patches „Angewendet“, „Veraltet“ oder „Abgelöst“ lautet.

Wenn die benutzerdefinierte Aktion spezielle Metadaten aus dem Patch erfordert, sollte der Patch eine benutzerdefinierte Aktion enthalten, die die Metadaten beim Anwenden des Patch in eine Registrierung oder einen Dateispeicherort schreibt. Die benutzerdefinierte Aktion in der ursprünglichen Anwendung oder einem Patch, der immer angewendet wird, kann die Informationen abrufen, die zum Entfernen der Patchänderungen erforderlich sind.

Patches, die Änderungen vornehmen, die schwer rückgängig gemacht werden können, sollten nicht als deinstallierbare Patches markiert werden.

Patchsequenzierung

Entfernen von Patches

Deinstallierbare Patches

Deinstallieren von Patches

MSIPATCHREMOVE

MsiEnumapplicationsEx

MsiGetPatchInfoEx

MsiRemovePatches