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

DelTibus 7 Messages postés lundi 26 février 2007Date d'inscription 20 octobre 2008 Dernière intervention - 10 oct. 2008 à 17:47 - Dernière réponse : ASConcept 1 Messages postés lundi 18 septembre 2006Date d'inscription 3 novembre 2011 Dernière intervention
- 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
Afficher la suite 

5 réponses

Répondre au sujet
IcyDeadz 2 Messages postés mercredi 9 avril 2003Date d'inscription 13 octobre 2008 Dernière intervention - 13 oct. 2008 à 17:08
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de IcyDeadz
IcyDeadz 2 Messages postés mercredi 9 avril 2003Date d'inscription 13 octobre 2008 Dernière intervention - 10 oct. 2008 à 20:42
0
Utile
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;
Commenter la réponse de IcyDeadz
DelTibus 7 Messages postés lundi 26 février 2007Date d'inscription 20 octobre 2008 Dernière intervention - 13 oct. 2008 à 09:22
0
Utile
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
Commenter la réponse de DelTibus
DelTibus 7 Messages postés lundi 26 février 2007Date d'inscription 20 octobre 2008 Dernière intervention - 13 oct. 2008 à 19:26
0
Utile
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
Commenter la réponse de DelTibus
ASConcept 1 Messages postés lundi 18 septembre 2006Date d'inscription 3 novembre 2011 Dernière intervention - 3 nov. 2011 à 11:28
0
Utile
Comme quoi les archives peuvent toujours servir... c'est un truc dont j'ai besoin aujourd'hui.
Merci.
Commenter la réponse de ASConcept

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.