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
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez avoir quelques informations pour l'utilisateur, vous pouvez essayer quelque chose comme ça.
Tout d'abord, la mise à jour devrait avoir le même
AppId
nom de votre Application Principale.Ensuite, vous pouvez définir des vérifications, qui permettra d'afficher des messages pour informer l'utilisateur sur l'état.
Inno Setup déjà gère les cas 1, 2, et 4 automatiquement si votre
AppID
est maintenu pour la durée de vie de l'application.Vous pouvez également masquer le répertoire et pages de groupe à l'aide de la suite de
[Setup]
directives:Voir ce ISXKB article pour plus de détails.
Pour le cas 3, en supposant que vos fichiers sont versionnées correctement, Inno de ne pas déclasser quoi que ce soit, mais il ne sera pas effectivement d'en avertir l'utilisateur. Pour ce faire, vous aurez besoin d'ajouter du code pour vérifier cela, le plus souvent dans les
InitializeSetup()
fonction d'événement.