Compartir a través de


Acción MigrateFeatureStates

La acción MigrateFeatureStates se usa durante la actualización y al instalar una nueva aplicación en una aplicación relacionada. MigrateFeatureStates lee los estados de características de la aplicación existente y, después, establece estos estados de característica en la instalación pendiente. El método solo es útil cuando el nuevo árbol de características no ha cambiado considerablemente respecto al original.

La acción MigrateFeatureStates solo se ejecuta la primera vez que se instala el producto. La acción MigrateFeatureStates no se ejecuta durante el modo de mantenimiento ni durante la desinstalación.

La acción MigrateFeatureStates se ejecuta a través de cada registro de la tabla Upgrade en secuencia y compara el código de actualización, la versión del producto y el idioma de cada fila con todos los productos instalados en el sistema. Si la acción MigrateFeatureStates detecta una correspondencia y si la marca de bits msidbUpgradeAttributesMigrateFeatures se establece en la columna Attributes de la tabla Upgrade, el instalador consulta los estados de características existentes para el producto y establece estos estados para las mismas características de la nueva aplicación. La acción solo migra los estados de características si no se establece la propiedad Preselected.

Restricciones de secuencias

La acción MigrateFeatureStates debe aparecer inmediatamente después de la acción CostFinalize. MigrateFeatureStates debe secuenciarse tanto en la tabla InstallUISequence como en la tabla InstallExecuteSequence. El instalador impide que MigrateFeatureStates se ejecute en InstallExecuteSequence si la acción ya se ha ejecutado en InstallUISequence.

Mensajes de ActionData

MigrateFeatureSettings envía un mensaje de datos de acción para cada producto.

Comentarios

Si más de un producto instalado comparte una característica, el estado de instalación de esa característica puede diferir entre los productos. La acción MigrateFeatureState usa el siguiente orden de prioridad al migrar estados de instalación de características: ejecución local, ejecución desde el origen, anunciado y desinstalado. Por ejemplo, el producto instalado A puede tener la característica Y como INSTALLSTATE_LOCAL y el producto instalado B puede tener la característica Y como INSTALLSTATE_ABSENT. Si una actualización instala el producto C y migra el estado de instalación de la característica Y, MigrateFeatureState establece el estado de instalación de la característica Y del producto C en INSTALLSTATE_LOCAL.

Para más información sobre cómo usar la acción MigrateFeatureStates para las actualizaciones de productos, consulte Preparación de una aplicación para futuras actualizaciones principales.