Action MigrateFeatureStates

L’action MigrateFeatureStates est utilisée pendant la mise à niveau et lors de l’installation d’une nouvelle application sur une application associée. MigrateFeatureStates lit les états des fonctionnalités dans l’application existante, puis définit ces états de fonctionnalité dans l’installation en attente. La méthode n’est utile que lorsque la nouvelle arborescence de fonctionnalités n’a pas considérablement changé de l’arborescence d’origine.

L’action MigrateFeatureStates ne s’exécute que la première fois que le produit est installé. L’action MigrateFeatureStates ne s’exécute pas pendant le mode maintenance ou la désinstallation.

L’action MigrateFeatureStates s’exécute dans chaque enregistrement de la table Mise à niveau dans l’ordre et compare le code de mise à niveau, la version du produit et la langue de chaque ligne aux produits installés sur le système. Si l’action MigrateFeatureStates détecte une correspondance et si l’indicateur de bits msidbUpgradeAttributesMigrateFeatures est défini dans la colonne Attributs de la table Mise à niveau, le programme d’installation interroge les états de fonctionnalité existants pour le produit et définit ces états pour les mêmes fonctionnalités dans la nouvelle application. L’action migre uniquement les états de fonctionnalité si la propriété Présélectionnée n’est pas définie.

Restrictions de séquence

L’action MigrateFeatureStates doit se présenter immédiatement après l’action CostFinalize. MigrateFeatureStates doit être séquencé dans la table InstallUISequence et la table InstallExecuteSequence. Le programme d’installation empêche l’exécution de MigrateFeatureStates dans InstallExecuteSequence si l’action a déjà été exécutée dans InstallUISequence.

Messages ActionData

MigrateFeatureSettings envoie un message de données d’action pour chaque produit.

Notes

Si plusieurs produits installés partagent une fonctionnalité, l’état d’installation de cette fonctionnalité peut différer d’un produit à l’autre. L’action MigrateFeatureState utilise l’ordre de priorité suivant lors de la migration des états d’installation des fonctionnalités : exécution locale, exécution à partir de la source, publication et désinstallation. Par exemple, le produit A installé peut avoir la fonctionnalité Y comme INSTALLSTATE_LOCAL et le produit B installé peut avoir la fonctionnalité Y comme INSTALLSTATE_ABSENT. Si une mise à niveau installe le produit C et migre l’état d’installation de la fonctionnalité Y, MigrateFeatureState définit l’état d’installation de la fonctionnalité Y dans le produit C sur INSTALLSTATE_LOCAL.

Pour plus d’informations sur l’utilisation de l’action MigrateFeatureStates pour les mises à niveau de produit, consultez Préparation d’une application pour les mises à niveau majeures futures.