Freigeben über


MigrateFeatureStates-Aktion

Die MigrateFeatureStates-Aktion wird während des Upgrades und bei der Installation einer neuen Anwendung über eine zugehörige Anwendung verwendet. MigrateFeatureStates liest die Featurezustände in der vorhandenen Anwendung und legt diese Featurezustände dann in der ausstehenden Installation fest. Die Methode ist nur nützlich, wenn die neue Featurestruktur sich nicht wesentlich gegenüber der ursprünglichen geändert hat.

Die MigrateFeatureStates-Aktion wird nur ausgeführt, wenn das Produkt zum ersten Mal installiert wird. Die MigrateFeatureStates-Aktion wird während des Wartungsmodus oder der Deinstallation nicht ausgeführt.

Die MigrateFeatureStates-Aktion durchläuft nacheinander jeden Datensatz der Upgrade-Tabelle und vergleicht den Upgradecode, die Produktversion und die Sprache in jeder Zeile mit allen Produkten, die auf dem System installiert sind. Wenn die MigrateFeatureStates-Aktion eine Übereinstimmung feststellt und das msidbUpgradeAttributesMigrateFeatures-Bitflag in der Attributes-Spalte der Upgrade-Tabelle festgelegt ist, fragt der Installer die vorhandenen Featurezustände für das Produkt ab und legt diese Zustände für die gleichen Features in der neuen Anwendung fest. Die Aktion migriert die Featurezustände nur, wenn die Preselected-Eigenschaft nicht festgelegt ist.

Sequenzeinschränkungen

Die MigrateFeatureStates-Aktion muss unmittelbar nach der CostFinalize-Aktion ausgeführt werden. MigrateFeatureStates muss sowohl in der InstallUISequence-Tabelle als auch in der InstallExecuteSequence-Tabelle sequenziert werden. Der Installer verhindert, dass MigrateFeatureStates in InstallExecuteSequence ausgeführt wird, wenn die Aktion bereits in InstallUISequence ausgeführt wurde.

ActionData-Meldungen

MigrateFeatureSettings sendet für jedes Produkt eine Aktionsdatennachricht.

Bemerkungen

Wenn mehrere installierte Produkte ein Feature gemeinsam nutzen, kann sich der Installationszustand dieses Features je nach Produkt unterscheiden. Die MigrateFeatureState-Aktion verwendet die folgende Rangfolge beim Migrieren von Installationszuständen von Features: „Lokal ausführen“, „Von Quelle ausführen“, „Angekündigt“ und „Deinstalliert“. Beispielsweise kann das installierte Produkt A über das Feature Y mit INSTALLSTATE_LOCAL und das installierte Produkt B über das Feature Y mit INSTALLSTATE_ABSENT verfügen. Wenn bei einem Upgrade Produkt C installiert und der Installationszustand von Feature Y migriert wird, legt MigrateFeatureState den Installationszustand von Feature Y in Produkt C auf INSTALLSTATE_LOCAL fest.

Weitere Informationen zur Verwendung der MigrateFeatureStates-Aktion für Produktupgrades finden Sie unter Vorbereiten einer Anwendung auf künftige wichtige Upgrades.