Während des Entfernens auszuführende Aktionen

Es gibt zwei Möglichkeiten, die Installationsdatenbank so zu erstellen, dass eine Aktion nur aufgerufen wird, wenn das Paket deinstalliert wird:

  • Wenn die Aktion nach der InstallValidate-Aktion in der InstallExecuteSequence-Tabellesequenziert wird, kann der Paketautor die Bedingung REMOVE="ALL" für die Aktion in der Spalte Bedingung angeben. Beachten Sie, dass die REMOVE-Eigenschaft während einer Deinstallation nicht garantiert auf ALL festgelegt wird, bevor das Installationsprogramm die InstallValidate-Aktion ausführt. Beachten Sie, dass die Anführungszeichen um den Wert ALL in diesem Fall erforderlich sind.
  • Wenn die Aktion nach der CostFinalize-Aktion und allen Aktionen sequenziert wird, die den Featurezustand ändern könnten, z. B. die MigrateFeatureStates-Aktion,kann die Aktion auf den Zustand eines bestimmten Features oder einer bestimmten Komponente bedingte werden. Weitere Informationen finden Sie unter Syntax der bedingten Anweisung. Verwenden Sie diese Option, um eine Aktion während des Entfernens einer bestimmten Funktion oder Komponente aufzurufen, die außerhalb des vollständigen Entfernens der Anwendung auftreten kann.

Beachten Sie, dass die Eigenschaft Installiert in bedingten Ausdrücken verwendet werden kann, um zu bestimmen, ob ein Produkt pro Computer oder für den aktuellen Benutzer installiert ist. Überprüfen Sie die ProductState-Eigenschaft, um zu bestimmen, ob das Produkt für einen anderen Benutzer installiert ist.

Beachten Sie, dass ältere Versionen eines Produkts während eines Upgrades durch die Aktion RemoveExistingProductsentfernt werden können. Die Tabelle Upgrade kann in diesem Fall auch die REMOVE-Eigenschaft auf ALL festlegen. Überprüfen Sie die UPGRADINGPRODUCTCODE-Eigenschaft, um zu ermitteln, ob ein Produkt durch ein Upgrade entfernt wird. Das Installationsprogramm legt diese Eigenschaft nur fest, wenn RemoveExistingProducts das Produkt entfernt. Das Installationsprogramm legt die -Eigenschaft während einer normalen Deinstallation nicht fest, z. B. beim Entfernen mit Programmen zum Hinzufügen/Entfernen.