Mises à niveau majeures

Une mise à niveau majeure est une mise à jour complète d’un produit qui nécessite une modification de la propriété ProductCode.

Une mise à niveau majeure classique supprime une version précédente d’une application et installe une nouvelle version. Une mise à niveau majeure peut réorganiser l’arborescence des composants de fonctionnalités. Pour plus d’informations, consultez ProductCode et Modification du code de produit.

Lors d’une mise à niveau majeure à l’aide de Windows Installer, le programme d’installation recherche les applications liées à la mise à niveau en attente sur l’ordinateur de l’utilisateur, et lorsqu’il en détecte une, il récupère la version de l’application installée à partir du registre système. Le programme d’installation utilise ensuite les informations de la base de données de mise à niveau pour déterminer s’il faut mettre à niveau l’application installée.

Pour activer les fonctionnalités de mise à niveau du programme d’installation, chaque package doit avoir une propriété UpgradeCode et une table Upgrade. Chaque produit ou suite de produits autonome doit avoir son propre UpgradeCode. Pour plus d’informations sur l’utilisation d’UpgradeCode, consultez la section Utilisation d’un UpgradeCode. Chaque enregistrement de la table Upgrade fournit une combinaison du code de mise à niveau, de la version du produit et des informations de langue pour identifier un ensemble de produits affectés par la mise à niveau. Lorsque l’action FindRelatedProducts détecte qu’un produit affecté est installé sur le système, elle ajoute le code de produit à une propriété dans la colonne ActionProperty de la table Upgrade. L’action RemoveExistingProducts et l’action MigrateFeatureStates suppriment ou migrent les produits répertoriés dans la liste ActionProperty. Les auteurs de package peuvent également suivre la procédure décrite dans la rubrique : Préparation d’une application pour les mises à niveau majeures futures.

Les packages de mise à niveau Windows Installer peuvent être créés de telle sorte que les mises à niveau majeures ne sont pas installées si l’utilisateur dispose déjà d’une version plus récente de l’application installée. Pour plus d’informations sur la création d’un package qui ne sera pas installé sur une version plus récente, consultez Empêcher l’installation d’un ancien package sur une version plus récente

Notes

Windows Installer utilise uniquement les trois premiers champs de la version du produit. Pour obtenir une description de ces champs, consultez la propriété ProductVersion. Si vous incluez un quatrième champ dans votre version de produit, le programme d’installation l’ignore.

 

Méthode recommandée pour appliquer une mise à niveau majeure en installant le package complet pour le produit mis à jour. Pour plus d’informations sur la façon d’appliquer une mise à niveau majeure en installant le produit, consultez Application de mises à niveau majeures en installant le produit.

Une mise à niveau majeure appliquée en tant que package correctif pour le produit ne peut pas être séquencée avec d’autres mises à jour et n’est pas un correctif désinstallable. Pour plus d’informations sur l’application d’un package correctif de mise à niveau majeure à un package Windows Installer, consultez Application de mises à niveau majeures en corrigeant l’installation locale du produit. L’application d’une mise à niveau majeure à l’aide d’un package de correctif n’est pas recommandée ; appliquez plutôt les mises à niveau majeures en installant le produit complet.

Notes

Si une application est installée dans le contexte d’installation par utilisateur, toute mise à niveau majeure de l’application doit également être effectuée à l’aide du contexte par utilisateur. Si une application est installée dans le contexte d’installation par ordinateur, toute mise à niveau majeure de l’application doit également être effectuée à l’aide du contexte par ordinateur. Windows Installer n’installe pas de mises à niveau majeures dans le contexte d’installation.

 

Vous pouvez conditionner les actions personnalisées séquencées après InstallValidate pour gérer les mises à niveau majeures à l’aide de la propriété UPGRADEPRODUCTCODE :

  • Si vous souhaitez qu’une action personnalisée s’exécute pendant une désinstallation du produit, mais pas pendant la suppression du produit par une mise à niveau majeure, utilisez cette condition.

    REMOVE="ALL" AND NOT UPGRADINGPRODUCTCODE

  • Si vous souhaitez qu’une action personnalisée s’exécute uniquement pendant une mise à niveau majeure, utilisez cette condition.

    UPGRADINGPRODUCTCODE