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] Modifier la valeur d'une clé de registre


Sujet :

Outils Delphi

  1. #1
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut [Inno Setup] Modifier la valeur d'une clé de registre
    Bonjour,

    Je cherche un moyen pour ajouter le répertoire de mon application à la variable PATH.

    Apparemment c'est possible en modifiant la clés de registre :
    HKEY_Local_Machine\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path
    Comment faire pour ajouter mon répertoire à la fin ? Et pour lors de la désintallation de mon application, il est possible de revenir en arrière ?

    Merci d'avance

  2. #2
    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

    Cela ne répond pas exactement à ta demande, mais est-ce que ceci suffirait ?
    Ce qui simplifierait également la désintallation.

    @+ Claudius

  3. #3
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par Cl@udius Voir le message
    Cela ne répond pas exactement à ta demande, mais est-ce que ceci suffirait ?
    Ce qui simplifierait également la désintallation.
    Non j'ai déjà essayé Ce qui m'intéresse c'est de lancer l'application en ligne de commande.

  4. #4
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Pour l'installation, une simple ligne dans la section [Registry] permet de le faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [Registry]
    Root: HKLM; SubKey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment\"; ValueType: string; ValueName: "Path"; ValueData: "{reg:HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\,Path};{app}"
    Par contre, pour la désinstallation, c'est plus délicat. Il faut passer par une section code de désinstallation.
    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
    [ Code ]
    procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
    var
      Path, AppDir: string;
      Index: Integer;
    begin
      if CurUninstallStep = usUninstall then
      begin
        if RegQueryStringValue(HKEY_LOCAL_MACHINE,
          'SYSTEM\CurrentControlSet\Control\Session Manager\Environment\',
          'Path', Path) then
        begin
          AppDir := ExpandConstant('{app}');
          Index := Pos(AppDir, Path);
          Delete(Path, Index-1, Length(AppDir)+1);
          RegWriteStringValue(HKEY_LOCAL_MACHINE,
            'SYSTEM\CurrentControlSet\Control\Session Manager\Environment\',
            'Path', Path);
        end;
      end;
    end;
    Pas testé, mais ça doit ressembler à ça

  5. #5
    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
    Bravo sjrd
    Code testé et approuvé.

    J'étais en train de chercher en vain une façon de faire.

  6. #6
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    ça fonction parfaitement

    Merci beaucoup

  7. #7
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Juste un petit détail
    Salut,

    Je voudrais juste ajouter un petit détail pour tous ceux qui comme moi ont été sauvés par cette solution pour mettre à jour le PATH.

    Le ValueType de cette entrée de registre est: expandsz

    A+

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    Je suis pas un grand connaisseur d'Inno Setup et je voudrais savoir comment on utilise la procédure.

    Je voudrais savoir si il était possible modifier la variable d'environnement en premier avant d'installer quoi que ce soit.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 211
    Points : 76
    Points
    76
    Par défaut
    bonjour,

    Les clés de registe m'intersse bcp et le programme ke vous avez mi sur ce sujet parait fonctionné bine pour moi (enfin j'ai pa eu de probleme durant la compilation) mais di moi gege2061 ça l air de fonctionner pour toi et je voulais savoir comment tu sai ke le code fonctionne enfin comment tu verifi ke la clé registre est bien enregistrer et tt le reste??

    Autre kestion:
    est ce que je peux avoir un exemple clair sur à quoi ca va me servir une clé de registre dans l'installation d'un programme.


    Merci d'avance.

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

Discussions similaires

  1. [inno setup] modifier un XML avec une condition
    Par skypichat dans le forum Outils
    Réponses: 0
    Dernier message: 02/01/2012, 01h31
  2. Réponses: 4
    Dernier message: 29/06/2010, 14h03
  3. [XSL] Comment modifier la valeur d'une variable?
    Par sorcer1 dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 17/02/2010, 13h26
  4. Réponses: 3
    Dernier message: 04/01/2006, 20h53
  5. Réponses: 6
    Dernier message: 30/09/2005, 16h24

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