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 - Forcer l'installation d'un .exe et d'un msi à la fin de l'installation


Sujet :

Outils Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 14
    Par défaut inno setup - Forcer l'installation d'un .exe et d'un msi à la fin de l'installation
    Bonjour,
    j'essaye de créer un setup assez personnalisé sous inno setup. Mon programme nécessite l'installation de 2 applis miscrosoft à savoir "vcredist_x86" et "msxml". J'aimerais forcer leur installation à la fin de mon installeur sans que l'utilisateur ait à cocher puis à valider l'installation de ces deux produits.

    Voilà ce que je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    [Files]
    Source: "C:\...\msxml4.msi"; DestDir: "{app}"; Flags: ignoreversion
    Source: "C:\...\vcredist_x86.exe"; DestDir: "{app}"; Flags: ignoreversion
     
    ...
     
    [Run]
    Filename: "msxml4.msi"; Parameters: "/i ""{app}\msxml4.msi"""
    Filename: "vcredist_x86.exe"; Parameters: "/i ""{app}\vcredist_x86.exe""
    J'ai le droit à une belle erreur du type : "impossible d'éxécuter le fichier msxml4.msi CreateProcess a échoué ; code 2. Le fichier spécifié est introuvable".
    J'ai aussi regardé du côté des tasks mais ça ne m'a pas mené à grand chose. Avez-vous une idée pour forcer l'installation de ces deux fichiers à partir de l'installateur inno ?

    Je vous remercie d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 934
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 934
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    [Files]
    Source: "C:\...\msxml4.msi"; DestDir: "{app}"; Flags: ignoreversion
    Source: "C:\...\vcredist_x86.exe"; DestDir: "{app}"; Flags: ignoreversion
     
    ...
     
    [Run]
    Filename: "{app}\msxml4.msi"; Parameters: "/i"
    Filename: "{app}\vcredist_x86.exe"; Parameters: "/i"
    Mais ces deux fichiers devraient plutôt être extraits dans {tmp} et supprimés une fois l'installation terminée.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 14
    Par défaut
    Merci ça marche pour le .exe mais pas pour le .msi, une idée ?

  4. #4
    Membre émérite
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    991
    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 : 991
    Par défaut
    et:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [Run]
    Filename: "msiexec"; Parameters: "/i /qn {app}\msxml4.msi"
    mais c'est pas top comme dit AndNotOr tu devrais y exécuter pendant l'installation des fichiers, vérifier si c'est pas déjà installer et AVERTIR l'utilisateur du besoin de ses dépendances et lui proposer de les installer

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 14
    Par défaut
    Merci beaucoup ça marche impecc.

    J'ai un dernier petit problème. Si l'utilisateur a déjà installé le vcredist_x86.exe, même avec un "Flags: skipifdoesntexist" dans mon Run ça va quand dans l'interface d'installation du vcredist qui me propose alors de "réparer" ou "d'effacer" le vcredist du système. J'aimerais ne pas avoir à proposer ça à l'utilisateur vous avez une petite idée ? Sachant que le "Flags: skipifdoesntexist" fonctionne très bien avec le msxml.

  6. #6
    Membre émérite
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    991
    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 : 991
    Par défaut
    skipifdoesntexist c'est pour ne pas executer la ligne run si le fichier n'existe pas!

    comme je t'ait dit tu doit vérifier si c'est pas déjà installé avant d'executer le fichier

    ex avec Check: MyProgCheck

    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
     
    [Files]
    Source: "C:\...\vcredist_x86.exe"; DestDir: "{app}"; Flags: ignoreversion deleteafterinstall
     
    [Run]
    Filename: "{app}\vcredist_x86.exe"; Parameters: "/i"; StatusMsg: "Installing msxml..."; Check: MyProgCheck
     
    [code]
    function MyProgCheck(): Boolean;
    begin
      Result := False;
      //vérif si besoin d'installer en cherchant dans le registre ou version d'un fichier et si utilisateur accepte 
      if MsgBox('Do you want to install msxml?', mbConfirmation, MB_YESNO) = idYes Then
        Result := True;
    end;
    edit: utilise le flags deleteafterinstall sa efface les fichiers a la sortie de l'installeur sert a rien de les garder après installation

    edit2: 3 liens pour détecter sa présence http://blogs.msdn.com/heaths/archive...ce-pack-1.aspx
    http://www.advancedinstaller.com/for...php?f=2&t=5063
    http://social.msdn.microsoft.com/for...-a865a7111d20/

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/03/2012, 09h45
  2. Réponses: 4
    Dernier message: 26/07/2011, 17h52
  3. Inno Setup lancer un exe durant instalation
    Par phoenix345 dans le forum Installation, Déploiement et Sécurité
    Réponses: 0
    Dernier message: 21/10/2010, 22h45
  4. Réponses: 8
    Dernier message: 24/05/2010, 13h03
  5. [INNO SETUP][ORACLE] Installer le client Oracle avec Inno
    Par AnnSo dans le forum Bases de données
    Réponses: 11
    Dernier message: 19/08/2004, 16h21

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