[inno setup] arrêter l'installation dans la section code [Résolu]

Signaler
Messages postés
7
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
20 octobre 2008
-
Messages postés
1
Date d'inscription
lundi 18 septembre 2006
Statut
Membre
Dernière intervention
3 novembre 2011
-
Bonjour,

Je ne sais pas trop si ce post est dans la bonne catégorie, alors si ce n'est pas le cas je vous pris de m'excuser...

Voilà, je souhaite pouvoir interrompre l'installation à partir de la section [code] d'inno setup suite à un test effectué dans cette même section (Par exemple: si une application spécifique n'est pas installée sur la machine). Mais je n'arrive pas à trouver une procédure ou une fonction permettant d'effectuer cette opération.

Connaitriez-vous un manipulation le permettant?

Cdt,
DelTibus

5 réponses

Messages postés
2
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
13 octobre 2008

Rebonjour,

Je m'étais longuement demandé s'il n'y avait pas une façon plus paramétrable d'annuler mon installation moi aussi et j'avais arrêté ma recherche lors de ma visite sur un site mentionnant que :

Les procédures et fonctions définies dans la section [Code] sont en réalité des méthodes (et non des routines) : procedure of object ou function of object.

C'est pour cela que vous pouvez les assigner aux événements standard des composants.

[nullhttp://thierryaim.developpez.com/tutoriel/innosetup/iscode/ http://thierryaim.developpez.com/tutoriel/innosetup/iscode/]

Vous trouverez aussi dans cette page la liste des évènements standards que vous pourriez appeler pour annuler l'installation.

Je ne suis pas expert dans la matière, mais je crois que cela signifie que l'implémentation d'une procédure "personnalisée" qui pourra annuler l'installation est peut-être possible, mais très complexe.

Cependant, il devrait être possible de trouver une solution en utilisant des moyens "plus bricolés". Je ne suis pas expert en la matière, mais vous pourriez peut-être créer des scripts qui lanceront certains programmes tout dépendant du type d'installation via la fonction RUN.

Bonne journée,
Stéphane.
Messages postés
2
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
13 octobre 2008

Bonjour DelTibus,

Je vous colle le code que j'utilise pour abandonner l'installation d'une mise à jour de l'un de mes logiciels si une clé de registre n'est pas présente sur l'ordinateur.

La fonction se démarre ici lors de l'initialisation de l'installation, mais d'autres fonctions sont disponibles.

Bonne chance avec la programmation d'Inno Setup!

Stéphane.

[CODE]


var
  RegKeyExist: Boolean;


function InitializeSetup(): Boolean;
begin
  if not RegKeyExists(HKEY_LOCAL_MACHINE, 'Software\GestionnaireCJS') then
    begin
        Msgbox('Le logiciel doit être installé pour pouvoir procéder à sa mise à jour.',mbCriticalError,MB_Ok);
    end
  else
    begin
    Result:=true;
    end
end;
Messages postés
7
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
20 octobre 2008

BonjourIcyDeadz,

Merci pour ta réponse. En effet, cette méthode permet de sortir de l'installation si les bonnes conditions ne sont pas réunies pour l'effectuer.

J'aurais pourtant une autre question, concernant toujours la sortie de l'installation:
Est-il possible d'obtenir le même résultat sans utiliser la fonction InitializeSetup(). En effet, j'ai plusieurs modes d'installation (comme par exemple: "Complet", "Personnalisé", "Minimum",...) et des applications doivent être installées que pour un mode d'install précis.
Donc est-il possible d'arrêter l'installation après que l'utilisateur ait fait son choix ou cette opération ne peut être effectuée que dans la function InitializeSetup()?

Cdt,

DelTibus
Messages postés
7
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
20 octobre 2008

Bonsoir...


Je me doutais que ce serait compliqué d'effectué une telle opération.
Et maintenant que vous me le confirmez, je vais laisser tomber cette
approche et je vais me contenter de signaler les besoins lors de
l'initialisation de l'installation.


Merci encore.


Cdt,

DelTibus
Messages postés
1
Date d'inscription
lundi 18 septembre 2006
Statut
Membre
Dernière intervention
3 novembre 2011

Comme quoi les archives peuvent toujours servir... c'est un truc dont j'ai besoin aujourd'hui.
Merci.