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] effacer entrée dans clef de registre avant d'installer


Sujet :

Outils Delphi

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 5
    Par défaut [Inno Setup] effacer entrée dans clef de registre avant d'installer
    Bonjour,
    J'ai parcouru tout le forum et je n'ai pas vu de réponse à ma question :
    Comment peut-on effacer une clef de registre style
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs\wininet
    avant de commencer l'install de mon application ? ou alors de la renommer ( ValueName ET ValueData)
    J'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [Registry]
    Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs\"; ValueType: string; ValueName: "wininet"; ValueData: "wininet.dll"; Flags : deletevalue
    Mais l'entrée n'est pas effacée alors que manuellement, il n'y a pas de soucis ...

    Une idée ?
    Un grand merci !

    PS: les réponses dans le forum concerne comment effacer une clef lors de la désinstallation ...

  2. #2
    Membre émérite
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 993
    Par défaut
    bonjour, il faut le faire via la partie "code" sur un évènement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    procedure InitializeWizard(); 
    begin
    //au choix:
    //function RegDeleteKeyIncludingSubkeys(const  RootKey: Integer; const SubkeyName: String): Boolean;
    //function RegDeleteKeyIfEmpty(const  RootKey: Integer; const SubkeyName: String): Boolean;
    //function RegDeleteValue(const RootKey:  Integer; const SubKeyName, ValueName: String): Boolean;
    end;
    par contre la je suis pas sûr mais si c'est pour dé enregistrer une dll c'est pas comme sa qu'il faut procéder

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 5
    Par défaut
    En effet, voila comment j'ai fait ( je n'avais pas vu ta réponse mais ca y ressemble) et ca fonctionne .
    Merci en tout cas, d'avoir répondu !!
    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
     
    procedure modify_values();
    begin
      if RegValueExists(HKEY_LOCAL_MACHINE,'SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs','wininet') = true then
      begin
           MsgBox('key exists:' #13#13 'OK', mbInformation, MB_OK);
           if RegDeleteValue (HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs','wininet') = true then
           MsgBox('key cleaned:' #13#13 'OK', mbInformation, MB_OK);
      end;
    end;
    procedure CurStepChanged(CurStep: TSetupStep);
    begin
      if CurStep = ssInstall then begin
        modify_values();
      end;
    end;

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Heu... Pourquoi modifies-tu une clé de registre comme celle-ci ?? Wininet est une librairie faisant partie intégrante de Windows, tu ne dois pas la toucher ni modifier les clés de registre associées.

    Que cherches-tu à faire, exactement ?
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/09/2010, 09h02
  2. [Inno Setup] Résoudre {app} dans la partie code
    Par WDKyle dans le forum Outils
    Réponses: 7
    Dernier message: 03/06/2009, 13h01
  3. [Inno Setup] Utiliser/modifier la base de registres
    Par ririrourou dans le forum Outils
    Réponses: 9
    Dernier message: 06/04/2009, 10h17
  4. [Inno Setup] Utiliser un ' dans Msgbox()
    Par Ethancarter dans le forum Outils
    Réponses: 2
    Dernier message: 16/07/2008, 13h11
  5. [Inno setup/IsTool] lire la base de registre à l'instalation et la désinstalation
    Par méphistopheles dans le forum Installation, Déploiement et Sécurité
    Réponses: 8
    Dernier message: 02/05/2006, 19h32

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