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

Installation, Déploiement et Sécurité VB Discussion :

InnoSetup - Ecrire dans un fichier config


Sujet :

Installation, Déploiement et Sécurité VB

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14
    Points : 7
    Points
    7
    Par défaut InnoSetup - Ecrire dans un fichier config
    Bonjour,

    J'utilise innosetup pour mon programme d'installation et j'en suis très content, mais... j'ai un problème je voudrais à la fin de l'installation générer un fichier config.ini à un endroit précis contenant le chemin d'installation du programme.

    Ma question est il possible d'utiliser innosetup pour générer/modifier le contenu d'un fichier ?

    Merci pour toute vos réponses.

  2. #2
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Citation Envoyé par viny123456789 Voir le message
    Ma question est il possible d'utiliser innosetup pour générer/modifier le contenu d'un fichier ?
    Oui
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    J'ai besoin de faire également ce genre de chose (écrire dans un fichier "déclaré" dans ISTool des informations qui ont été saisies via dialogue utilisateur lors du setup ).
    Est-il possible d'avoir un exemple ou une petite explication sur la manière de procéder sachant que je suis un newbie sur le langage script utilisé par inno setup ?

  4. #4
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Citation Envoyé par Chibitox Voir le message
    le langage script utilisé par inno setup ?
    le langage utilisé par IS est du pascal (proche de Delphi, le logiciel lui-même étant écrit en grande partie, en Delphi)
    Citation Envoyé par Chibitox Voir le message
    J'ai besoin de faire également ce genre de chose (écrire dans un fichier "déclaré" dans ISTool des informations qui ont été saisies via dialogue utilisateur lors du setup ).
    Si tu me dis quel genre de dialogue a été utilisé : pages standards de IS ou pages persos ?
    (ou ce que tu veux faire, si rien n'est déjà écrit)
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Tout d'abord merci de prendre le temps de se pencher sur mon pbm.

    En fait pour le moment on m'a donné un setup assez basique qui ne contient pas de section [code].
    Je dois lui ajouter une fenêtre qui permette à l'utiliteur d'entrer le nom d'une source et d'un driver ODBC dans des textbox par exemple. Une fois ces infos entrées, je veux aller les écrire dans mon fichier .ini.

    Finalement le fichier .ini dans lequel je dois écrire n'était pas déclaré dans une section [INI] mais il est déclaré dans la section [files] de la manière suivante:

    Source: Fichiers\AppPath\POSTE.INI; DestDir: {app}

    Je suppose qu'il doit utiliser cette ligne pour le copier dans le repertoire de l'application. Mais que si moi je veux pouvoir écrire dedans je dois le déclarer dans la section [INI] non ?

    La question que je me pose c'est: comment ?
    En regardant l'aide je trouve cet exemple:

    Filename: "MyProg.ini"; Section: "InstallSettings"; Key: "InstallPath"; String: "{app}"

    Le pbm c'est de savoir ce que je dois mettre dans filename, est-ce le nom du fichier, son chemin absolu d'origine ou son chemin une fois qu'il aura été copié.
    Etant donné que je n'ai aucune idée de l'ordre de séquencement dans lequel se feront les choses (va-t-il écrire avant de copier le fichier ou après ?) je ne sais pas trop comment renseigner ce champ.

    Pour ce qui est des pages personalisées et des textboxs je pense pouvoir m'en sortir, ce qui me pose pbm c'est donc plus la récupération des infos saisies puis l'écriture dans le .ini.

  6. #6
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Voilà de quoi commencer:
    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
    [Setup]
    AppName=My Program
    AppVerName=My Program 1.5
    AppPublisher=My Company, Inc.
    DefaultDirName={pf}\My Program
    DefaultGroupName=My Program
    OutputBaseFilename=setup_istest
    Compression=lzma
    SolidCompression=yes
     
    [Languages]
    Name: french; MessagesFile: compiler:Languages\French.isl
     
    [Files]
    Source: C:\Program Files\Inno Setup 5\Examples\MyProg.exe; DestDir: {app}; Flags: ignoreversion
    Source: istest.ini; DestDir: {app}; Flags: ignoreversion
     
    [Icons]
    Name: {group}\My Program; Filename: {app}\MyProg.exe
    Name: {commondesktop}\My Program; Filename: {app}\MyProg.exe; Tasks: desktopicon
     
    [INI]
    Filename: "{app}\istest.ini"; Section: InstallSettings; Flags: uninsdeletesection
    Filename: "{app}\istest.ini"; Section: InstallSettings; Key: Param1; String: {code:GetParam1}; Flags: createkeyifdoesntexist
    Filename: "{app}\istest.ini"; Section: InstallSettings; Key: Param2; String: {code:GetParam2}; Flags: createkeyifdoesntexist
     
     
    [ Code ]
    // Procédures d'évenements
    var
      PageParam: TInputQueryWizardPage;
     
    // Creer les Pages Personnalisées
    procedure CreateTheWizardPages;
     
    begin
      // Create the page
    PageParam := CreateInputQueryPage(wpWelcome,
      'Personal Information', 'Who are you?',
      'Please specify your name and the company for whom you work, then click Next.');
     
    // Add items (False means it's not a password edit)
    	PageParam.Add('Name:', False);
    	PageParam.Add('Company:', False);
    	PageParam.Values[0]:= 'Valeur_1';
    	PageParam.Values[1]:= 'Valeur_2';
    end;
     
     
    // Fonctions de retour
    function GetParam1(Param: String): String;
    begin
        Result := PageParam.Values[0];
    end;
    function GetParam2(Param: String): String;
    begin
        Result := PageParam.Values[1];
    end;
     
    {*** INITIALISATION ***}
    procedure InitializeWizard;
    begin
      CreateTheWizardPages;
    end;
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  7. #7
    Futur Membre du Club
    Inscrit en
    Juin 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Merci beaucoup.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2004
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42

    Informations forums :
    Inscription : Août 2004
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    Est il possible d'internationaliser le texte de la page par rapport à la langue qui serait choisi au début de l'install, et si possible comment faire ?
    Merci

  9. #9
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    c'est possible

    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
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    [Setup]
    AppName=My Program
    AppVerName=My Program 1.5
    AppPublisher=My Company, Inc.
    DefaultDirName={pf}\My Program
    DefaultGroupName=My Program
    OutputBaseFilename=setup
    Compression=lzma
    SolidCompression=yes
    OutputDir=C:\InnoSetup\Output
     
    [Languages]
    Name: en; MessagesFile: compiler:Default.isl
    Name: fr; MessagesFile: compiler:Languages\French.isl
     
    [CustomMessages]
    ; Français
    fr.TaskIconGroup=Icônes :
    fr.TaskDesktopIcon=Créer une icône sur le &bureau
    fr.TaskQuickLaunchIcon=Créer une icône de &démarrage rapide
    fr.PageParamTitre=Informations personnelles
    fr.PageParamText1=Qui êtes vous ?
    fr.PageParamText2=Entrez votre nom et votre société, puis cliquez sur Suivant.
    fr.PageParamLbl1=Nom :
    fr.PageParamLbl2=Société :
     
    ;English
    en.TaskIconGroup=Icons :
    en.TaskDesktopIcon=Create a desktop icon
    en.TaskQuickLaunchIcon=Create a quicklaunch icon
    en.PageParamTitre=Personal Informations
    en.PageParamText1=Who are you ? ?
    en.PageParamText2=Please specify your name and the company for whom you work, then click Next.
    en.PageParamLbl1=Name :
    en.PageParamLbl2=Company :
     
    [Tasks]
    Name: DesktopIcon; Description: {cm:TaskDesktopIcon}; GroupDescription: {cm:TaskIconGroup}; Flags: checkedonce
    Name: QuickLaunchIcon; Description: {cm:TaskQuickLaunchIcon}; GroupDescription: {cm:TaskIconGroup}; Flags: unchecked
     
    [Files]
    Source: C:\Program Files\Inno Setup 5\Examples\MyProg.exe; DestDir: {app}; Flags: ignoreversion
    ;Source: istest.ini; DestDir: {app}; Flags: ignoreversion
     
    [Icons]
    Name: {group}\My Program; Filename: {app}\MyProg.exe
    Name: {commondesktop}\My Program; Filename: {app}\MyProg.exe; Tasks: desktopicon
     
    [INI]
    Filename: {app}\istest.ini; Section: InstallSettings; Flags: uninsdeletesection
    Filename: {app}\istest.ini; Section: InstallSettings; Key: Param1; String: {code:GetParam1}; Flags: createkeyifdoesntexist
    Filename: {app}\istest.ini; Section: InstallSettings; Key: Param2; String: {code:GetParam2}; Flags: createkeyifdoesntexist
     
     
    [ Code ]
    var
      PageParam: TInputQueryWizardPage;
     
    // Procédures d'évenements
     
    // Creer les Pages Personnalisées
    procedure CreateTheWizardPages;
     
    begin
      // Create the page
    PageParam := CreateInputQueryPage(wpWelcome,
      ExpandConstant('{cm:PageParamTitre}'), ExpandConstant('{cm:PageParamText1}'),
      ExpandConstant('{cm:PageParamText2}'));
     
    // Add items (False means it's not a password edit)
    	PageParam.Add(ExpandConstant('{cm:PageParamLbl1}'), False);
    	PageParam.Add(ExpandConstant('{cm:PageParamLbl2}'), False);
    	PageParam.Values[0]:= 'Valeur_1';
    	PageParam.Values[1]:= 'Valeur_2';
    end;
     
     
    // Fonctions de retour
    function GetParam1(Param: String): String;
    begin
        Result := PageParam.Values[0];
    end;
    function GetParam2(Param: String): String;
    begin
        Result := PageParam.Values[1];
    end;
     
    {*** INITIALISATION ***}
    procedure InitializeWizard;
    begin
      CreateTheWizardPages;
    end;
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  10. #10
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2004
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42

    Informations forums :
    Inscription : Août 2004
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    Merci beaucoup c'est exactement se que je cherchais

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3
    Points : 6
    Points
    6
    Par défaut Besoin d''une explication
    avant toute chose je souhaiterai vous remercier pour avoir prêter attention a ma requette.
    j'ai configuré inno setup et tout marche bien lorsque je créer l’exécutable et l'installation de l'application de se déroule très bien d’ailleurs mais mon soucis est que je souhaiterai Ecrire un script a l’intérieur qui agira sur le lancement de l'application c'est a dire changer le lien du raccourcis de lancement de l'application sur le bureau et aussi un autre script qui demande a l'utilisateur de d’insérer par exemple des informations qui seront ensuite stocker dans un fichier "ini" et que l'application lise les informations contenue dans le fichier "ini".

    Merci cordialement de vos différentes réponses

Discussions similaires

  1. Ecrire \" dans un fichier
    Par photorelief dans le forum Langage
    Réponses: 2
    Dernier message: 14/09/2005, 15h56
  2. [JAR] Lire et Ecrire dans un fichier contenu dans un jar
    Par lipao17 dans le forum Général Java
    Réponses: 5
    Dernier message: 02/05/2005, 12h01
  3. Ecrire dans un fichier
    Par gibet_b dans le forum Linux
    Réponses: 5
    Dernier message: 25/04/2005, 20h11
  4. Ecrire dans un fichier grace à un trigger ?
    Par zigoo dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 29/10/2004, 20h03
  5. Ecrire dans un fichier sans supprimer le reste
    Par koan_sabian dans le forum Linux
    Réponses: 4
    Dernier message: 20/02/2003, 15h44

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