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 nützlich, wenn sich die neue Featurestruktur nicht erheblich vom ursprünglichen geändert hat.
Die Aktion MigrateFeatureStates 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 jeden Datensatz der Upgradetabelle nacheinander und vergleicht den Upgradecode, die Produktversion und die Sprache in jeder Zeile mit allen auf dem System installierten Produkten. Wenn die MigrateFeatureStates-Aktion eine Entsprechung erkennt und das MsidbUpgradeAttributesMigrateFeatures-Bitflag in der Spalte Attribute der Upgradetabelle festgelegt ist, fragt das Installationsprogramm die vorhandenen Featurezustände für das Produkt ab und legt diese Status für die gleichen Features in der neuen Anwendung fest. Die Aktion migriert die Featurezustände nur, wenn die Eigenschaft Preselected nicht festgelegt ist.
Sequenzeinschränkungen
Die MigrateFeatureStates-Aktion sollte unmittelbar nach der CostFinalize-Aktionfolgen. MigrateFeatureStates muss sowohl in der Tabelle InstallUISequence als auch in der Tabelle InstallExecuteSequencesequenziert 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 haben, kann sich der Installationsstatus für dieses Feature je nach Produkt unterscheiden. Die MigrateFeatureState-Aktion verwendet beim Migrieren von Funktionsinstallationszuständen die folgende Rangfolge: Lokal ausführen, von der Quelle ausführen, angekündigt und deinstalliert. Beispielsweise kann das installierte Produkt A das Feature Y als INSTALLSTATE LOCAL und das installierte Produkt B das _ Feature Y als INSTALLSTATE _ ABSENT aufweisen. Wenn bei einem Upgrade Produkt C installiert und der Installationsstatus von Feature Y migriert wird, 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.