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

 .NET Discussion :

Impossible de lire une valeur dans le registre depuis un Installer


Sujet :

.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 10
    Points : 11
    Points
    11
    Par défaut Impossible de lire une valeur dans le registre depuis un Installer
    Bonjour,

    Dans une action personnalisée (dérivée de System.Configuration.Install.Installer) exécutée par un installeur, je dois lire des valeurs dans la base de registre (HKCU) pour récupérer la version courante d'AutoCAD.

    Ceci a parfaitement fonctionné pendant des années avec des installeurs créés avec Visual Studio 2010 Professionnel (Programme d'installation Visual Studio), puis avec Visual Studio 2013 Community Edition et l'extension Visual Studio Installer Projects.

    Depuis quelques temps, la même fonction (CF ci-dessous) retourne bien la valeur recherchée quand elle est appelée depuis une application console par exemple, mais, depuis l'installeur, le premier appel à RegistryKey.GetValue() retourne systématiquement null. Constatation faite avec Windows 7 64 bits.

    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
            public static ProductKey GetCurrentProductKey()
            {
                string key = @"Software\Autodesk\AutoCAD";
                using (RegistryKey root = Registry.CurrentUser.OpenSubKey(key))
                {
                    if (root == null)
                        throw new NullReferenceException(
                            "La clé 'HKCU\\" + key + " est introuvable.");
                    string curver = (string)root.GetValue("CurVer"); // <- Retourne null depuis l'installeur
                    if (string.IsNullOrEmpty(curver))
                        throw new NullReferenceException(
                            "La valeur 'CurVer' de la clé 'HKCU\\" + key + "' est introuvable.");
                    key += "\\" + curver;
                    using (RegistryKey rKey = Registry.CurrentUser.OpenSubKey(key))
                    {
                        curver = (string)rKey.GetValue("CurVer");
                        if (string.IsNullOrEmpty(curver))
                            throw new NullReferenceException(
                                "La valeur 'CurVer' de la clé 'HKCU\\" + key + "' est introuvable.");
                        return new ProductKey(key + "\\" + curver);
                    }
                }
            }
    J'ai posté un message similaire sur MSDN, mais n'ayant toujours pas de réponse, j'espère trouver de l'aide ici.

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 8
    Points : 9
    Points
    9
    Par défaut Problème similaire
    Bonjour
    J'ai un problème similaire et je veux savoir si tu as finis par trouver une solution au tien
    Merci

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    Non, je n'ai pas trouvé de solution.

Discussions similaires

  1. Lire une valeur dans une spinbox
    Par arknouf dans le forum Qt
    Réponses: 3
    Dernier message: 21/04/2008, 16h52
  2. Lire et créer une valeur dans le registre
    Par bilal_inf dans le forum Langage
    Réponses: 3
    Dernier message: 11/05/2007, 18h11
  3. Réponses: 7
    Dernier message: 21/03/2007, 16h07
  4. Réponses: 5
    Dernier message: 24/05/2006, 14h04
  5. Lire une valeur dans le registre
    Par John.s dans le forum C
    Réponses: 2
    Dernier message: 26/11/2003, 19h55

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