Partager via


Utilisation des composants

Les composants transitifs sont généralement utilisés pour préparer un produit à réinstaller lors d'une mise à niveau du système. L'auteur du package d'installation spécifie que les composants qui doivent être échangés lors d'une mise à niveau du système possèdent l'attribut transitif. Lorsque l'utilisateur met le système à niveau, le produit doit être réinstallé. Lors de cette réinstallation, le programme d'installation supprime les composants antérieurs et installe les composants ultérieurs, sans avoir à installer l'ensemble du produit.

Pour inclure deux composants transitifs dans le package d'installation

  1. Incluez les deux composants transitifs dans le package d'installation.

  2. Autorisez les deux composants transitifs dans la table des composants de la même manière que les composants ordinaires. Chaque composant transitif doit avoir son propre GUID unique spécifié dans la colonne ComponentId.

  3. Incluez le bit msidbComponentAttributesTransitive dans la colonne Attributes de la table Component pour chaque composant transitif. Si ce bit est activé, le programme d'installation réévalue la valeur de l'instruction dans la colonne Condition lors d'une réinstallation.

    Si la valeur était précédemment Faux et est passée à Vrai, le programme d'installation installe le composant.

    Si la valeur était précédemment True et qu'elle est devenue False, le programme d'installation supprime le composant, même s'il a d'autres produits comme clients.

    Remarque

    À moins que le bit transitif ne soit activé, le composant reste activé une fois installé, même si l'instruction conditionnelle est évaluée à Faux lors d'une installation de maintenance ultérieure du produit. Les conditions doivent être basées uniquement sur les états de l'ordinateur. Ne les utilisez pas avec des conditions basées sur des états de l'utilisateur ou des propriétés définies sur la ligne de commande, car le programme d'installation pourrait alors exiger une réinstallation du produit à chaque utilisation par un utilisateur différent.

     

  4. Saisissez des expressions conditionnelles complémentaires dans les champs Condition du tableau Contrôle de telle sorte que lorsque la condition du premier composant transitif devient Faux, la condition du second composant transitif devient Vrai. Cela entraîne la suppression du premier composant et l'installation du second composant lors de la réinstallation de l'application.

Une réinstallation du produit est nécessaire pour changer les composants transitifs. Les auteurs de packages doivent donc fournir aux utilisateurs une méthode pour réinstaller le produit et pour définir les modes de la propriété REINSTALLMODE. Il existe essentiellement trois façons de déclencher la réinstallation :

  • Exécuter et configurer la réinstallation via l'interface utilisateur en créant un package qui utilise l'interface utilisateur complète.
  • Exécutez la réinstallation à partir de la ligne de commande en utilisant msiexec /f et sélectionnez les modes dans la liste de l'option de ligne de commande /f.
  • Demandez à l'application d'appeler MsiReInstallProduct ou MsiReInstallFeature.

Le bit ne doit être utilisé qu'avec des conditions basées sur les états de l'ordinateur. Ne les utilisez pas avec des conditions basées sur des états de l'utilisateur ou des propriétés définies sur la ligne de commande, car le programme d'installation pourrait alors exiger une réinstallation du produit à chaque utilisation par un utilisateur différent.

Remarque

À moins que le bit Transitif de la colonne Attributs ne soit défini pour un composant, ce dernier reste activé une fois installé, même si l'instruction de la colonne Condition est évaluée à Faux lors d'une installation ultérieure du produit à des fins de maintenance.

Dans la plupart des cas, si une application comprend des composants transitifs, Windows Installer a besoin de la source de l'application pour réparer ou mettre à niveau l'application. Dans ce cas, le CD-ROM de restauration du système fourni par le fabricant de l'équipement d'origine ne fonctionne pas et une source d'installation réelle pour l'application doit être fournie.