Während des Entfernens auszuführende Konditionierungsaktionen

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

  • Wenn die Aktion nach der Aktion InstallValidate in der Tabelle InstallExecuteSequence angeordnet ist, kann der Paketersteller in der Spalte „Condition“ eine Bedingung REMOVE="ALL" für die Aktion 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 anderen Aktionen, die den Status des Features ändern könnten, z. B. MigrateFeatureStates-Aktion, ausgeführt wird, kann die Aktion an den Zustand eines bestimmten Features oder einer bestimmten Komponente gebunden sein. Siehe Syntax für bedingte Anweisungen. Verwenden Sie diese Option, um eine Aktion während des Entfernens eines bestimmten Features oder einer Komponente aufzurufen, die außerhalb der vollständigen Entfernung der Anwendung erfolgen kann.

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

Beachten Sie, dass ältere Versionen eines Produkts während eines Upgrades mit der RemoveExistingProducts-Aktion entfernt werden können. Die Upgrade-Tabelle kann in diesem Fall auch die REMOVE-Eigenschaft auf ALL festlegen. Überprüfen Sie die Eigenschaft UPGRADINGPRODUCTCODE, um festzustellen, 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 bei einer normalen Deinstallation, z. B. beim Entfernen mit „Software“, nicht fest.