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

C# Discussion :

Problème écriture dans la base de registre


Sujet :

C#

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Problème écriture dans la base de registre
    bonjour,

    j'ai deux problème (qui sont liés)

    1) je suis sur windows 7 , mon compte est adminitrateur, uac est désactivé et je souhaite en utilisant une appli c# exécuter un fichier .reg qui doit ecrire dans HKEY_LOCAL_MACHINE

    (pour écrire dans HKEY_CURRENT_USER il n'y a pas de problème)

    mon code est le suivant:

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //ajout d'un fichier .reg dans la base de registre
    ProcessStartInfo processregedit2 = new ProcessStartInfo("regedit.exe", "/s " + choixlettrelecteur.Text.ToString() + "/data/windows7/proprietaire.reg");
    Process regedit2Process = Process.Start(processregedit2);
    regedit2Process.WaitForExit();

    le problème est que la commande se lance bien , mais rien ne s'ajoute dans la base de registre.

    j'ai également essayé de lancer ma commande avec :

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Process compiler = new Process();
                        compiler.StartInfo.UseShellExecute = true;
                        compiler.StartInfo.FileName = "regedit";
                        compiler.StartInfo.Arguments = choixlettrelecteur.Text.ToString() + "/data/windows7/oeminfo.reg";
                        compiler.StartInfo.UseShellExecute = true;
                        compiler.Start();
                        compiler.WaitForExit();

    mais ca ne fait rien de mieux

    2) je voudrais copier un fichier dans le c:\windows\system32\

    avec la commande

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    File.Copy((choixlettrelecteur.Text.ToString() + "/data/windows7/OEMLOGO1.bmp"), ("C:/windows/system32/OEMLOGO1.bmp"), true);

    mais le fichier ne se copie pas.

    si je fais la même commande mais en copiant dans c:\, pas de problème

    pouvez vous me dire ce qui cloche ?

    merci

    Ludovic

  2. #2
    Membre expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Points : 3 015
    Points
    3 015
    Par défaut
    Salut,

    Et en lançant ton application en mode admin ? (clic droit sur ton exe -> "Executer en tant qu'Administrateur")

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    j'ai déjà essayé mais ca ne fonctionne pas.

    ludovic

  4. #4
    Invité
    Invité(e)
    Par défaut
    Pas vraiment de rapport avec la question de base, mais pourquoi ne pas utiliser les classes de gestion du registre ? Ça serait peut-être plus simple et moins error prone non?

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    j'ai trouvé la solution à mon problème qui n'en était pas un

    comme j'ai fait mon programme avec visual studio 2010 64 bits

    les modifs regedit allait dans HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node à la place de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

    idem pour la copie dans system32 qui va dans SysWOW64

  6. #6
    Invité
    Invité(e)
    Par défaut
    Passe le sujet en résolu alors

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

Discussions similaires

  1. Privilège d'écriture dans la base de registre
    Par frantzgac dans le forum Windows
    Réponses: 13
    Dernier message: 08/05/2011, 20h40
  2. Problème d'écriture dans la base de données
    Par DaisyVIP dans le forum ASP.NET
    Réponses: 13
    Dernier message: 01/02/2008, 10h27
  3. Problème pour définir une valeur dans la base des registres
    Par hellspawn_ludo dans le forum Dreamshield
    Réponses: 2
    Dernier message: 30/09/2007, 03h03
  4. Mini Problème d'écriture dans la base de donnée
    Par DaisyVIP dans le forum ASP.NET
    Réponses: 9
    Dernier message: 29/05/2007, 14h52
  5. Réponses: 1
    Dernier message: 20/09/2006, 18h14

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