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
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Décembre 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2020
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [Inno Setup] modifier la valeur d'une clé de registre.
    Bonjour,
    Je découvre Inno setup, je dois faire un script qui à pour unique but de modifier la valeur d'une clé de registre, j'ai vu quelques bouts de codes mais je ne sais pas par ou commencer.
    HELP

  2. #2
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 664
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 664
    Points : 6 967
    Points
    6 967
    Par défaut
    L'aide d'inno setup ne suffit pas ?

    https://jrsoftware.org/ishelp/
    ["Setup Script Sections"][[Registry] section]
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. ___ Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.3.2 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.1 Entreprise
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.4)

  3. #3
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Décembre 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2020
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Yes j'ai créé mon installer.
    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [Registry]
    Root: HKLM; Subkey: "Ordinateur\HKEY_LOCAL_MACHINE\SOFTWARE\FusionInventory-Agent\server"; Flags: deletevalue;
    Root: HKLM; Subkey: "Ordinateur\HKEY_LOCAL_MACHINE\SOFTWARE\FusionInventory-Agent"; ValueType: string; ValueName: "server"; ValueData: "http://localhost:8080/glpi-9.4.6/plugins/fusioninventory/";
    Quand je le lance il me rend cette erreur:
    RegCreateKeyEx fails with error code 87

    une idée?

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 455
    Points : 24 867
    Points
    24 867
    Par défaut
    ERROR_INVALID_PARAMETER

    87 (0x57)

    The parameter is incorrect.
    Curieux ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Root: HKLM; Subkey: "Ordinateur\HKEY_LOCAL_MACHINE\SOFTWARE\...
    HKLM c'est juste HKEY_LOCAL_MACHINE donc ceci me semble suffisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Root: HKLM; Subkey: "SOFTWARE\...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 691
    Points : 13 121
    Points
    13 121
    Par défaut
    Il y a effectivement erreur sur la subkey. Faire attention au copier/coller depuis RegEdit

    Sinon, la première ligne n'a aucune utilité puisque ValueName n'est pas spécifié (server est certainement mal placé).

    Mais le flag deletevalue n'a certainement pas lieu d'être du tout. Soit on veut supprimer une valeur plus utilisée (ce qui ne semble pas être le cas au regard de la deuxième ligne), soit on veut en changer le type (ex. redéfinir la valeur de string en multisz) et dans ce cas, on peut tout spécifier sur une seule ligne (effacement puis recréation).

    Attention aussi au 32/64 bits. Inno Setup est une app 32 bits et va par défaut écrire dans HKLM 32 bits (WOW6432Node) mais ce copier/coller depuis RegEdit concerne peut-être (certainement) une clé 64 bits. Il faudra dès lors soit spécifier HKML64, soit demander à Inno Setup de se caler sur la plateforme par ArchitecturesInstallIn64BitMode=x64. La deuxième approche a l'avantage de rendre le script compatible 32 ET 64 bits (à part la section [Files] s'il y avait des fichiers).

  6. #6
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Décembre 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2020
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    J'ai changé mon script, c'est tout bon! il fallait le mettre en x64.
    je voulais supprimer la valeur car le poste sur lequel j'écris le script à déjà une valeur. Mais autant pour moi les postes sur lesquels le script sera utilisé n'en auront pas. Il faut juste en assigner une.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    #define app "http://localhost:8080/glpi-9.4.6/plugins/fusioninventory/"
     
    Root: HKLM64; Subkey:"SOFTWARE\FusionInventory-Agent"; ValueType: string; ValueName: "server"; ValueData: {app}
    Merci!

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 691
    Points : 13 121
    Points
    13 121
    Par défaut
    {app} est un mot réservé et représente le répertoire cible de l'installation.

    Les variables précompilées s'utilisent ainsi {#name}.

    On pourrait créer une variable app mais j'en utiliserait une autre pour éviter le quiproquos :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #define url "http://localhost:8080/glpi-9.4.6/plugins/fusioninventory/"
     
    Root: HKLM64; Subkey:"SOFTWARE\FusionInventory-Agent"; ValueType: string; ValueName: "server"; ValueData: {#url}

+ 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. [Inno Setup] Modifier la valeur d'une clé de registre
    Par gege2061 dans le forum Outils
    Réponses: 8
    Dernier message: 08/04/2009, 18h42
  5. Réponses: 3
    Dernier message: 04/01/2006, 20h53

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