RegistrySecurity l'Accès est refusé. C#
Je suis actuellement un problème lors de l'écriture d'une application pour définir des autorisations sur certaines anciennes clés. Héritage touches sont assez verrouillé et à fait les modifier dans regedit, vous avez à prendre en main, puis ajouter vous-même avec un contrôle total. Lorsque vous essayez de reproduire cela dans le code je ne peut pas obtenir la clé pour écrire avec le message d'erreur "Accès refusé". Exemple de code:
RegistrySecurity rs = new RegistrySecurity();
rs.AddAccessRule(new RegistryAccessRule("Administrators", RegistryRights.FullControl, AccessControlType.Allow));
rs.SetOwner(new NTAccount("Administrators"));
return LocalMachine.CreateSubKey(post, RegistryKeyPermissionCheck.ReadWriteSubTree, rs);
Toutes les idées seraient grandement appréciés. J'ai aussi essayé de OpenSubKey avec accès en écriture a demandé et j'ai juste ne peut pas obtenir la clé.
Merci les gars.
Vous devez vous connecter pour publier un commentaire.
J'ai enfin trouvé une solution. Il fallait ouvrir la clé avec "ChangePermissions" puis modifier les autorisations de vous-même... ouvrez-le à nouveau sur la touche avec le plein contrôle pour modifier le propriétaire.
Voici comment.
Cela fonctionne pour moi. Laissez-moi savoir si cela fonctionne pour vous 🙂
Évidemment changer d'Administrateur à un autre utilisateur si vous n'êtes pas connecté en tant qu'administrateur ou si vous avez besoin des droits d'un autre utilisateur.
Lorsque vous exécutez votre application avec le code êtes-vous en cliquant-droit sur l'exe et en sélectionnant "Exécuter en tant Qu'Administrateur"?
Doit d'abord Définir une autorisation avec le droit d'ACCÉDER à l'intégralité de la sous-clé de
XXX : votre nom de compte
J'ai installé Norton Internet Security
Microsoft Visual Studio 2015 (Administrateur)
_subKey = SOFTWARE\Wow6432Node\Norton
rkey.SetAccessControl(_registrySecurity);->
"A tenté d'effectuer une opération non autorisée."`