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

VB.NET Discussion :

[INNO SETUP] Comment installer des composants avant l'application


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Assistant commercial
    Inscrit en
    Août 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant commercial

    Informations forums :
    Inscription : Août 2014
    Messages : 53
    Points : 28
    Points
    28
    Par défaut [INNO SETUP] Comment installer des composants avant l'application
    Bonjour,

    Je rencontre un problème avec mon installation créer avec INNO SETUP.

    Mon application pour fonctionner a besoin de plusieurs composants (.Net Framework, SQL server compact 3.5 express....).

    Comment puis-je faire installer par INNO SETUP ces composants avant d'installer l'executable et les fichiers de l'application.

    Car actuellement les executables des composants sont placés dans le répertoire d'installation de l'application mais non installés sur le pc de l'utilisateur.

    Merci pour votre aide.

  2. #2
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Et bien il faut coder les trucs.
    Idéalement essaie de trouver un exemple de InnoSetup qui installe des trucs, après c'est hyper facile d'adapter quand on a compris le truc.



    Tutoriels de base :

    http://thierryaim.developpez.com/tut...osetup/iscode/
    http://jlelong.developpez.com/tutori...ion-innosetup/

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Assistant commercial
    Inscrit en
    Août 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant commercial

    Informations forums :
    Inscription : Août 2014
    Messages : 53
    Points : 28
    Points
    28
    Par défaut
    Bonjour mactwist69,

    Merci pour ces précisions.

    Je vais m'en inspirer.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Assistant commercial
    Inscrit en
    Août 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant commercial

    Informations forums :
    Inscription : Août 2014
    Messages : 53
    Points : 28
    Points
    28
    Par défaut
    Bonjour mactwist69,

    Je reviens vers toi pour quelque précisions.

    J'ai avancé sur mon script pour la détection du framework et de sql server compact 3.5 express et je suis arrivé à celà:


    [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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
     
    function InitializeSetup: Boolean;
    var
      Version: TWindowsVersion;
      S: String;
      NetFrameWorkInstalled  : Boolean;
      SqlServercompact35Installed  : Boolean;
      ErrorCode: Integer;
     
    begin
      GetWindowsVersionEx(Version);
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       // On Windows XP, check for SP2
      if Version.NTPlatform and
         (Version.Major = 5) and
         (Version.Minor = 1) and
         (Version.ServicePackMajor < 2) then
      begin
        SuppressibleMsgBox('La configuration minimum du système doit être windows XP service pack 2.',
          mbCriticalError, MB_OK, MB_OK);
          Result := False;
        Exit;
      end;
       //La version minimale d'xp est bien le service pack 2
      Result := True;
     //Test pour savoir si le Framework 4.0 client profile X86 et X64 est installé
    begin 
      //;LA CLE CORRESPONDANT AU FRAMEWORK 4.0 CLIENT PROFILE EXISTE-T-ELLE 
        NetFrameWorkInstalled := RegKeyExists(HKLM,'SOFTWARE\Microsoft\.NETFramework\v4.0.30319');
      //;SI OUI : 
        if NetFrameWorkInstalled then 
        begin 
          //;ON RETOURNE TRUE 
          Result := true; 
        end else 
        begin 
          //;SINON ON INSTALLE 
          begin 
            ShellExec('open', 
              ExpandConstant('{src}\dotNetFx40_Client_setup.exe'), 
              '','',SW_SHOWNORMAL,ewNoWait,ErrorCode); 
          end; 
        end;
        end;
     
     //Test pour savoir si SQL Server compact 3.5 SP2 est installé
    begin
      //;LA CLE CORRESPONDANT A SQL Server compact 3.5 SP2  EXISTE-T-ELLE 
        SqlServercompact35Installed := RegKeyExists(HKLM,'SOFTWARE\Microsoft\Microsoft SQL Server Compact Edition\v3.5'); 
      //;SI OUI : 
        if SqlServercompact35Installed then 
        begin 
          //;ON RETOURNE TRUE 
          Result := true; 
        end else 
        begin 
          //;SINON ON INSTALLE 
          begin 
            ShellExec('open', 
              ExpandConstant('{src}\SSCERuntime-FRA.exe'), 
              '','',SW_SHOWNORMAL,ewNoWait,ErrorCode); 
          end; 
        end;
        end;
     end;
    Mais ce script me pose des problèmes.

    Tout d'abord à la la ligne de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NetFrameWorkInstalled := RegKeyExists(HKLM,'SOFTWARE\Microsoft\.NETFramework\v4.0.30319');
    Peux-tu me confirmer que HKLM correspond bien à HKEY_LOCAL_MACHINE car je ne suis pas sûr de devoir écrire HKLM où HKEY_LOCAL_MACHINE. En effet quand je regarde dans la base de registre je trouve bien SOFTWARE\Microsoft\.NETFramework\v4.0.30319 mais pas HKLM mais plutôt HKEY_LOCAL_MACHINE.

    Ensuite à la ligne de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ShellExec('open', 
              ExpandConstant('{src}\SSCERuntime-FRA.exe'), 
              '','',SW_SHOWNORMAL,ewNoWait,ErrorCode);
    Cette instruction est utilisée pour ouvrir le fichier qui installe SQL SERVER COMPACT 3.5 EXPRESS si celui ci ne se trouve pas sur le pc de l'utilisateur. Cependant peux tu me confirmer que {src} correspond au chemin où se trouve le fichier SSCERuntime-FRA.exe.
    Si oui un problème se pose, car ce fichier au final se trouve dans le répertoire de l'application à installer. Et comme se code est appliqué lors de l'initialisation du setup comment va t il pouvoir trouver ce fichier qui n'est pas encore installé sur le pc de l'utilisateur.

    Merci de ton aide.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Assistant commercial
    Inscrit en
    Août 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant commercial

    Informations forums :
    Inscription : Août 2014
    Messages : 53
    Points : 28
    Points
    28
    Par défaut
    Bonjour mactwist69,

    Ne tiens pas compte de mon message précédent.

    J'ai résolu le problème:

    - HKLM correspond bien à HKEY_LOCAL_MACHINE et il faut bien laisser HKLM

    - Pour les fichiers executables il suffit de créer sur le support (CD par exemple) servant à l'installation un répertoire appelé Installation et de mettre les exécutables dont on a besoin dedans.

    Ce qui donne la ligne de commande:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ShellExec('open', 
              ExpandConstant('{src}\Installation\SSCERuntime-FRA.exe'), 
              '','',SW_SHOWNORMAL,ewNoWait,ErrorCode);
    Désolé pour le dérangement.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Assistant commercial
    Inscrit en
    Août 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant commercial

    Informations forums :
    Inscription : Août 2014
    Messages : 53
    Points : 28
    Points
    28
    Par défaut Copie répertoire
    Bonjour mactwist69,

    Je rencontre un nouveau problème avec inno setup.

    Je souhaite copier un répertoire contenant des fichiers lors de la création du fichier exe d'installation.

    Or si je fais add folder, le résultat final obtenu est seulement la copie des fichiers contenu dans ce dossier et non la copie du dossier avec ses fichiers.

    As-tu déjà rencontré ce problème ?

    Merci de ton aide.

  7. #7
    Membre actif
    Homme Profil pro
    Developpeur
    Inscrit en
    Février 2013
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Février 2013
    Messages : 180
    Points : 271
    Points
    271
    Par défaut
    une fois l'assistant terminer tu peu aller dans files & directories
    ajouter ton dossier et l'emplacement voulu
    ce qui te donne en code

    Source: "C:\[...]\Ressource\*"; DestDir: {app}\Ressource\; Flags: ignoreversion recursesubdirs createallsubdirs;

    pour info mon dossier contient des sous dossier avec divers type de fichier rld,ico,png,xml ...

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Assistant commercial
    Inscrit en
    Août 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant commercial

    Informations forums :
    Inscription : Août 2014
    Messages : 53
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par ranzoken Voir le message
    une fois l'assistant terminer tu peu aller dans files & directories
    ajouter ton dossier et l'emplacement voulu
    ce qui te donne en code

    Source: "C:\[...]\Ressource\*"; DestDir: {app}\Ressource\; Flags: ignoreversion recursesubdirs createallsubdirs;

    pour info mon dossier contient des sous dossier avec divers type de fichier rld,ico,png,xml ...
    Bonjour ranzoken,

    Merci pour ta réponse.

    J'ai testé et tout est ok

    Merci à toi

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/02/2016, 10h48
  2. [Lazarus] [Windows 64 bits] Comment installer des composants
    Par ovni76 dans le forum Lazarus
    Réponses: 9
    Dernier message: 29/07/2014, 14h43
  3. Réponses: 2
    Dernier message: 08/03/2012, 11h12
  4. Réponses: 2
    Dernier message: 09/03/2011, 17h26
  5. [Inno Setup] Comment griser des champs ?
    Par lovedesitaliens dans le forum Outils
    Réponses: 2
    Dernier message: 14/11/2008, 15h42

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