IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Outils Delphi Discussion :

Inno Setup Détecter un fichier pour accepter l'installation


Sujet :

Outils Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 69
    Points : 53
    Points
    53
    Par défaut Inno Setup Détecter un fichier pour accepter l'installation
    Bonjour à tous,

    J'ai fais un script pour créer l'installateur d'une application. Maintenant j'en fais un autre pour une mise à jour. Et je voudrais que l'installation ne se face pas si le fichier exe n'est pas détecté dans le répertoire d'installation spécifié.

    J'ai trouvé la bonne piste je crois mais je ne sais pas l'exploiter d'autent plus que la seul ligne qui correspond à cette évènement est DefaultDirName.

    if not FileExists('fichier.exe')

    Si le fichier n'est pas détecté il faudrait qu'une pop up l'avertisse et reste sur la page de sélection du dossier d'installation pour qu'un autre répertoire soit spécifié.


    D'avance merci pour votre aide

    EDIT : pour le moment j'ai fais ça, mais c'est incomplet, peut être même complètement faux


    [code]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    var UserPage: ??????????????????????????;
    var MessageErreur : string;
     
    function NextButtonClick(CurPageID: Integer): Boolean;
    begin
     
      if CurPageID = UserPage.ID then
      begin
        // Vérification de la présence de l'application à l'installation
        File := {app} + 'fichier.exe'; //FAUX
        if not FileExists('{File}') then
          begin
            MessageErreur := 'Veuillez spécifier le répertoire d installation de Left 4 Dead 2.';
            Msgbox(MessageErreur, mbConfirmation, MB_Ok);
            Result:=False;
          end
        else
          begin
            Result:=True;
          end
        end
    end;

  2. #2
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 49
    Points : 47
    Points
    47
    Par défaut
    Hello, Testé, devrait marcher...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Function NextButtonClick(CurPageID: Integer): Boolean;
    Begin
      Result := True; // Valeur de retour par défaut
      If CurPageID = 6 then
      Begin
        If Not FileExists( ExpandConstant('{app}') + '\left4dead2.exe' ) then
          Begin
            MessageErreur := 'Veuillez spécifier le chemin pour la portable executable de Left 4 Dead 2' + #13 + ExpandConstant('{app}') + '\left4dead2.exe est absent sur la machine locale';
            Msgbox(MessageErreur, mbConfirmation, MB_Ok);
            Result:=False;
          End;
        End
    End;

  3. #3
    Membre expérimenté
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 984
    Points : 1 419
    Points
    1 419
    Par défaut
    même si le numéro de page a peut de chance de changer moi j'utiliserai:.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      If CurPageID = wpSelectDir then

  4. #4
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Citation Envoyé par Sparktacus Voir le message
    J'ai fais un script pour créer l'installateur d'une application. Maintenant j'en fais un autre pour une mise à jour. Et je voudrais que l'installation ne se face pas si le fichier exe n'est pas détecté dans le répertoire d'installation spécifié.
    Je ferais cette vérification dans l'InitializeSetup en renvoyant False si la précédente installation n'est pas détectée.

    Si l'install a été effectué tu peux la retrouver dans la base de registre sous: Software\Microsoft\Windows\CurrentVersion\Uninstall
    Tu dois y retrouver une clé portant comme nom soit MyApp_is1 soit {AppID}_is1.

    @+ Claudius

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 69
    Points : 53
    Points
    53
    Par défaut
    Merci à vous

    Merci à toi az0101, c'est exactement ça.

    ouiouioui j'ai complété avec wpSelectDir.

    Cl@udius merci pour l'info, mais étant donné que ce patch peut aussi mettre à jour une installation que je n'ai pas fait, ca serait trop restrictif. J'ai pris des raccourci dans mes explications pour être le plus clair possible. Je ne suis pas à l'origine du programme principale, je fais que des patchs. Enfin c'est compliqué

    Encore merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/01/2014, 14h04
  2. Réponses: 4
    Dernier message: 19/03/2009, 11h35
  3. [Inno Setup] Renommer un fichier durant l'install
    Par freud dans le forum Outils
    Réponses: 2
    Dernier message: 17/09/2008, 21h49
  4. Inno Setup : détecter le sytème d'exploitation
    Par trent94 dans le forum Outils
    Réponses: 3
    Dernier message: 12/09/2008, 11h21
  5. [Inno Setup][VISTA] et fichiers INI
    Par Droïde Système7 dans le forum Outils
    Réponses: 23
    Dernier message: 21/04/2008, 14h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo