Freigeben über


MigrateFeatureStates-Aktion

Die MigrateFeatureStates-Aktion wird während des Upgrades und beim Installieren einer neuen Anwendung über eine verwandte Anwendung verwendet. MigrateFeatureStates liest die Featurezustände in der vorhandenen Anwendung und legt diese Featurezustände in der ausstehenden Installation fest. Die Methode ist nur dann nützlich, wenn sich die neue Featurestruktur nicht wesentlich von 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 wird durch jeden Datensatz der Upgradetabelle ausgeführt, sequenziiert und vergleicht den Upgradecode, die Produktversion und die Sprache in jeder Zeile mit allen auf dem System installierten Produkten. Wenn die MigrateFeatureStates-Aktion eine Korrespondenz erkennt und wenn das Bit-Flag "msidbUpgradeAttributesMigrateFeatures" in der Spalte "Attribute" der Upgrade-Tabelle festgelegt ist, fragt das Installationsprogramm die vorhandenen Featurezustände für das Produkt ab und legt diese Zustände für dieselben Features in der neuen Anwendung fest. Die Aktion migriert nur die Featurezustände, wenn die vorgewählte-Eigenschaft nicht festgelegt ist.

Sequenzeinschränkungen

Die MigrateFeatureStates-Aktion sollte unmittelbar nach der CostFinalize-Aktionkommen. MigrateFeatureStates muss in der InstallUISequence-Tabelle und der InstallExecuteSequence-Tabellesequenziert werden. Das Installationsprogramm verhindert, dass MigrateFeatureStates in InstallExecuteSequence ausgeführt wird, wenn die Aktion bereits in InstallUISequence ausgeführt wurde.

ActionData-Nachrichten

MigrateFeatureSettings sendet eine Aktionsdatennachricht für jedes Produkt.

Bemerkungen

Wenn mehrere installierte Produkte ein Feature gemeinsam verwenden, kann sich der Installationsstatus für dieses Feature je nach Produkt unterscheiden. Die MigrateFeatureState-Aktion verwendet die folgende Rangfolge beim Migrieren von Featureinstallationszuständen: lokal ausführen, aus Quelle ausführen, angekündigt und deinstalliert. Das installierte Produkt A kann z. B. feature Y als INSTALLSTATE_LOCAL und installiertes Produkt B haben möglicherweise feature Y wie INSTALLSTATE_ABSENT. Wenn ein Upgrade Produkt C installiert und den Installationsstatus von Feature Y migriert, legt MigrateFeatureState den Installationsstatus 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 für zukünftige Hauptupgrades.