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

Dotnet Discussion :

msi et base de registre


Sujet :

Dotnet

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2003
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 83
    Par défaut msi et base de registre
    bonjour,
    je travaille avec studio 2005 et j'utilise l'assistant d'installation pour installer une application que j'ai developpé.
    Je voudrais savoir si, par défaut, l'installeur msi crée une clé propre à mon appli dans la base de registre.

    L'idée est que plus tard je devrai concevoir un patch de mise à jour. je devrai dc vérifier que l'appli est installée et mm sous quelle version.
    le problème est que je ne peux plus toucher le projet d'installation pour rajouter ma propre clé. il me faut dc savoir si le msi le gère de base.

    Merci d'avance

  2. #2
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Par défaut
    Dommage que tu ne puisses plus modifier le setup pour y ajouter ta propre clé...

    Sinon pour en revenir à ta question, il me semble que automatiquement une clé est ajoutée pour que Windows sache quelles sont les applications installées. MAis pour savoir où est cette clé, essaye en faisaint une recherche dans la base de registre.

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2003
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 83
    Par défaut
    bon alors du coup j'ai rajouté une clé dans ma base de registre

    voici le code pour la créer :
    My.Computer.Registry.SetValue(cle_registre, _
    cle_nom_value, cle_value)
    avec :
    cle_registre = "HKEY_CURRENT_USER\appli"
    cle_nom_value = "repertoire"
    cle_value = "c:\..."

    ca fonctionne

    maintenant qd je test son existence j'ai tjs "" (vide) comme valeur !!
    voici mon code :
    My.Computer.Registry.CurrentUser.GetValue(cle_registre)

    à mon avis j'utilise soit la mauvaise méthode soit le mauvais nom de la clé...

    si qq'un peut m'aider

  4. #4
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Par défaut
    Quand je parlais d'ajouter une clé, je parlais au niveau du projet de setup.
    Car dans ton cas, la clé sera créée uniquement si tu lances l'application.

  5. #5
    Membre confirmé Avatar de nikalkal
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    231
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 231
    Par défaut
    Salut, tu génère ton msi comment, Avec un projet de déploiement ou déploiement web?

    Si oui tu as la vue register dans ce projet qui te permet de gérer ca --> et tu vois les chemins des clés qui définissent ta version etc...

  6. #6
    Membre confirmé Avatar de nikalkal
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    231
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 231
    Par défaut
    En plus aprés tu peux y associer des conditions donc tu peux tester si telle ou telle version est déja installéeet lancer des déploiements différents suivant les valeurs... tout ca sans une ligne de code.

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2003
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 83
    Par défaut
    merci pour vos réponses
    mais maintenant que j'ai ecris la fonction j'aimerai bien la garder...

    j'aimerai avoir le bon code pour récupérer une clé dans la base de registre
    (comme expliqué plus haut)

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 13
    Par défaut
    Citation Envoyé par watcha2020
    bon alors du coup j'ai rajouté une clé dans ma base de registre

    voici le code pour la créer :
    My.Computer.Registry.SetValue(cle_registre, _
    cle_nom_value, cle_value)
    avec :
    cle_registre = "HKEY_CURRENT_USER\appli"
    cle_nom_value = "repertoire"
    cle_value = "c:\..."

    ca fonctionne

    maintenant qd je test son existence j'ai tjs "" (vide) comme valeur !!
    voici mon code :
    My.Computer.Registry.CurrentUser.GetValue(cle_registre)

    à mon avis j'utilise soit la mauvaise méthode soit le mauvais nom de la clé...

    si qq'un peut m'aider

    essaye plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Registry.CurrentUser.SetValue(cle_registre, _cle_nom_value, cle_value)
    avec la clé de registre sans "HKEY_CURRENT_USER\" du coup... (juste cle_registre = @"appli\" donc)

    Enfin j'espère, je ne connais pas trop VB.Net...

  9. #9
    Membre averti

    Inscrit en
    Février 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 29
    Par défaut
    Il faut spécifié writable = True dans la dernière subKey :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    My.Computer.Registry.CurrentUser.OpenSubKey("Software").OpenSubKey("Microsoft", True).SetValue("nom_de_la_clef", "valeur_de_la_clef")

    Sinon les package msi génère déjà leurs propres clefs de registre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    LocalMachine/SOFTWARE/Microsoft/Windows/CurrentVersion/Installer/UserData/xxx/Products/yyy/InstallProperties/displayName

Discussions similaires

  1. Recherche en base de registre
    Par Pomalaix dans le forum Langage
    Réponses: 7
    Dernier message: 01/08/2012, 10h58
  2. [Windows]accès base de registre windows
    Par Greg01 dans le forum API standards et tierces
    Réponses: 27
    Dernier message: 05/06/2007, 15h14
  3. Accès à la base de registre windows à distance
    Par xavame dans le forum Sécurité
    Réponses: 4
    Dernier message: 13/07/2005, 15h23
  4. base de registre et connexion a internet
    Par nonosoft dans le forum C++
    Réponses: 2
    Dernier message: 17/04/2003, 21h04
  5. Utilisez vous la base de registres ?
    Par gRRosminet dans le forum C++Builder
    Réponses: 8
    Dernier message: 04/06/2002, 13h55

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