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

Résolu
DelTibus Messages postés 7 Date d'inscription lundi 26 février 2007 Statut Membre Dernière intervention 20 octobre 2008 - 10 oct. 2008 à 17:47
ASConcept Messages postés 1 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 3 novembre 2011 - 3 nov. 2011 à 11:28
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
A voir également:

5 réponses

IcyDeadz Messages postés 2 Date d'inscription mercredi 9 avril 2003 Statut Membre Dernière intervention 13 octobre 2008
13 oct. 2008 à 17:08
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.
3
IcyDeadz Messages postés 2 Date d'inscription mercredi 9 avril 2003 Statut Membre Dernière intervention 13 octobre 2008
10 oct. 2008 à 20:42
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;
0
DelTibus Messages postés 7 Date d'inscription lundi 26 février 2007 Statut Membre Dernière intervention 20 octobre 2008
13 oct. 2008 à 09:22
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
0
DelTibus Messages postés 7 Date d'inscription lundi 26 février 2007 Statut Membre Dernière intervention 20 octobre 2008
13 oct. 2008 à 19:26
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ASConcept Messages postés 1 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 3 novembre 2011
3 nov. 2011 à 11:28
Comme quoi les archives peuvent toujours servir... c'est un truc dont j'ai besoin aujourd'hui.
Merci.
0
Rejoignez-nous