Benutzerdefinierte Aktionen zum Deinstallieren von Patches
Sie können die Option Benutzerdefinierte Aktion Patchdeinstallation 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 Benutzerdefinierte Aktion Patchdeinstallation 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 Benutzerdefinierte Aktion Patchdeinstallation ist nicht verfügbar. Es gibt keine Methode zum Markieren einer benutzerdefinierten Aktion innerhalb eines Patchpakets, 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 vorhanden sein oder sich in einem Patch für das Produkt befindet, das immer angewendet wird.
Entwickler können die MsiPatchRemovalList-Eigenschaft verwenden, um ein Windows Installer-Paket oder -Patch zu erstellen, das benutzerdefinierte Aktionen zum Entfernen eines Patches ausführt. Die benutzerdefinierte Aktion kann im ursprünglichen Installationspaket, einem Patch, der bereits auf das Paket angewendet wurde, oder einem Patch, der kein deinstallationsfähiger Patchist, erstellt werden. Die benutzerdefinierte Aktion kann für die MsiPatchRemovalList-Eigenschaft in den Sequenztabellen bedingt werden. Weitere Informationen zum Bedingtisieren von Aktionen finden Sie unter Verwenden von Eigenschaften in bedingten Anweisungen.
Die benutzerdefinierte Aktion kann die GUIDs von Patches abrufen, die aus dem Wert der MsiPatchRemovalList-Eigenschaft entfernt werden. Die benutzerdefinierte Aktion kann durch Aufrufen von MsiGetPatchInfoEx oder der PatchProperty-Eigenschaft des Patchobjektsbestimmen, ob der Installationsstatus des Patches angewendet, veraltet oder abgelöst wird.
Wenn die benutzerdefinierte Aktion spezielle Metadaten vom Patch erfordert, sollte der Patch eine benutzerdefinierte Aktion enthalten, die die Metadaten beim Anwenden des Patches in eine Registrierung oder einen Dateispeicherort schreibt. Die benutzerdefinierte Aktion in der ursprünglichen Anwendung oder ein Patch, der immer angewendet wird, kann die Informationen abrufen, die zum Entfernen der Änderungen des Patches erforderlich sind.
Patches, die Änderungen vornehmen, die schwer rückgängig zu machen sind, sollten nicht als deinstallationsfähige Patchesmarkiert werden.