f3-logo-flexerasoftware

Je vais vous expliquer comment modifier la boite de dialogue InstallWelcome pour afficher un message à vos utilisateur lorsqu’une mise à jour Majeure sera éffectué.

Lorsque le package est installé pour la première fois, ou s’il s’agit d’une mise à jour mineur, l’interface par défaut sera affichée.

InstallShield_Major1

Ensuite, s’il s’agit d’une mise à jour mineure, la boîte de dialogue SetupResume s’affiche.

InstallShield_Major2

 

Ce comportement par défaut est controlé par des conditions sur les boites de dialogue (InstallWelcome et SetupResume) que vous pouvez trouver dans Custom Actions and sequences dans la partie sequence\Installation\User Interface.

InstallShield_Major3

 

  • Créer l’interface pour les Mises à jour Majeures.

Par défaut l’interface reste identique a une première installation lors de l’installation d’une Mises à jour Majeure.
Pour rappel : une mise à jour majeure désinstalle les versions antérieures de votre produit spécifié dans la table Upgrade. Lorsque le programme d’installation s’exécute, l’action FindRelatedProducts recherche dans le système de l’utilisateur les produits visés, et la valeur ProductCode. Pour chaque produit détecté, il la mémorise dans l’”action property” définie dans la table Upgrade. L’action RemoveExistingProducts supprime alors tous les produits énumérés.
Pour informer l’utilisateur qu’une mise à jour majeure est sur le point d’avoir lieu, vous pouvez ajouter un contrôle de texte à la boîte de dialogue InstallWelcome, et afficher conditionnellement le contrôle que si l’action FindRelatedProducts place des anciens codes produits l’”action property”. L’action FindRelatedProducts s’exécute avant InstallWelcome, vous pouvez donc utiliser en toute sécurité l’”action property” de la table upgrade dans vos conditions.
Si vous avez utilisé la vue Upgrades pour créer votre mise à jour majeure, la propriété d’action sera par défaut appelé ISACTIONPROP1, mais vous devez vérifier son nom dans la vue Upgrades ou dans la table Upgrade.
Pour cet exemple, nous allons modifier le contrôle de texte “Copyright” de la boîte de dialogue InstallWelcome. Il contiendra un message indiquant à l’utilisateur qu’une mise à jour majeure aura lieu. (Dans la pratique, vous pouvez ajouter un nouveau contrôle pour afficher le message.)

InstallShield_Major4

Allez dans la partie Dialogs. Allez sur la boite de dialogue InstallWelcom (Partie Behavior) et sélectionnez Copyright (Text), puis sélectionnez l’onglet Conditions dans le coin inférieur droit de la vue. Vous pouvez créer les conditions de contrôle suivantes:

  • Action: Hide; Condition: Not ISACTIONPROP1
  • Action: Show; Condition: ISACTIONPROP1

InstallShield_Major5

Au moment de l’execution, si le package ne détecte pas une version précédente du produit, le texte sera caché.

InstallShield_Major6

Si une mise à jour majeure est détecté, le texte modifié sera automatiquement affiché.

InstallShield_Major7

 

Voir l’article de Flexera : ICI