Actualizaciones principales
Una actualización principal es una actualización completa de un producto que necesita un cambio de la propiedad ProductCode.
Una actualización principal típica quita una versión de aplicación anterior e instala una nueva. Una actualización principal puede reorganizar el árbol de componentes de características. Para obtener más información, consulte ProductCode y Cambiar el código del producto.
Durante una actualización principal mediante Windows Installer, el instalador busca en el equipo del usuario las aplicaciones relacionadas con la actualización pendiente y, cuando detecta una, recupera la versión de la aplicación instalada del registro del sistema. Después, el instalador usa información en la base de datos de actualización para determinar si se va a actualizar la aplicación instalada.
Para habilitar las funcionalidades de actualización del instalador, cada paquete debe tener una propiedad UpgradeCode y una Tabla Upgrade. Cada producto independiente o conjunto de productos debe tener su propio UpgradeCode. Para obtener más información sobre el uso de UpgradeCode, consulte la sección Uso de un código de actualización. Cada registro de la tabla Upgrade proporciona una combinación del código de actualización, la versión del producto y la información de idioma que se usa para identificar un conjunto de productos afectados por la actualización. Cuando la acción FindRelatedProducts detecta que un producto afectado está instalado en el sistema, anexa el código de producto a una propiedad de la columna ActionProperty de la tabla Upgrade. La acción RemoveExistingProducts y la acción MigrateFeatureStates quitan o migran los productos enumerados en la lista ActionProperty. Los autores de paquetes también pueden seguir el procedimiento descrito en el tema: Preparar una aplicación para futuras actualizaciones principales.
Los paquetes de actualización de Windows Installer se pueden crear de forma que las actualizaciones principales no se instalen si el usuario ya tiene instalada una versión más reciente de la aplicación. Para obtener más información sobre cómo crear un paquete que no se instalará sobre una versión más reciente, consulte Impedir que un paquete anterior se instale a través de una versión más reciente
Nota:
Windows Installer usa solo los tres primeros campos de la versión del producto. Consulte la propiedad ProductVersion para obtener descripciones de estos campos. Si incluye un cuarto campo en la versión del producto, el instalador lo omite.
El método recomendado para aplicar una actualización principal es instalar el paquete completo para el producto actualizado. Para obtener información sobre cómo aplicar una actualización principal mediante la instalación del producto, consulte Aplicación de actualizaciones principales mediante la instalación del producto.
Una actualización principal aplicada como Paquete de revisión para el producto no se puede secuenciar con otras actualizaciones y no es una revisión desinstalable. Para obtener información sobre cómo aplicar un paquete de revisión de actualización principal a un paquete de Windows Installer, consulte Aplicación de actualizaciones principales mediante la aplicación de revisiones a la instalación local del producto. No se recomienda la aplicación de una actualización principal mediante un paquete de revisión; en su lugar, aplique las actualizaciones principales mediante la instalación del producto completo.
Nota:
Si una aplicación se instala en el contexto de instalación por usuario, también se debe realizar cualquier actualización principal a la aplicación mediante el contexto por usuario. Si una aplicación se instala en el contexto de instalación por máquina, también se debe realizar cualquier actualización principal a la aplicación mediante el contexto por máquina. Windows Installer no instalará actualizaciones principales en el contexto de instalación.
Puede condicionar acciones personalizadas que se secuencian después de InstallValidate para controlar las actualizaciones principales mediante la propiedad UPGRADINGPRODUCTCODE:
Si quiere que una acción personalizada se ejecute durante una desinstalación del producto, pero no durante la eliminación del producto por una actualización principal, use esta condición.
REMOVE="ALL" AND NOT UPGRADINGPRODUCTCODE
Si quiere que una acción personalizada se ejecute solo durante una actualización principal, use esta condición.