Création d'un programme d'installation qui effectuera une mise à jour si une ancienne version est déjà installée

Je suis en train de configurer Inno setup pour mon logiciel (c'est un c# software).
J'ai prévu de publier de nombreuses versions de mon logiciel, je voudrais changer l'inno setup interface du programme d'installation si une ancienne version de mon application est déjà installée sur l'ordinateur.
Dans ce cas, l'utilisateur ne devrait pas être en mesure de changer le répertoire d'installation.

Il y a quatre cas:

Premier cas: c'est la première installation de mon produit, inno setup devrait passer normalement.

Deuxième cas: le produit est déjà installé ET que le programme d'installation contient une version plus récente. L'utilisateur ne peut pas choisir le dossier de destination. Il suffit de lancer la mise à jour.

Troisième cas: Si le programme d'installation contient une version antérieure à la version installée, la mise à jour sera désactivé et un message doit être affiché.

Quatrième cas: Le programme d'installation de la version est la même que la version installée. L'utilisateur peut réparer son actuel version si nécessaire.

Est-il possible de le faire avec InnoSetup?

source d'informationauteur Ben