Vous essayez de supprimer une arborescence de sous-clé: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.hdr
. .hdr
sous-clé a une sous-clé, pas de valeurs. Donc j'utilise ce code:Registre dans .NET: DeleteSubKeyTree dit que la sous-clé n'existe pas, mais bon, c'est le cas!
RegistryKey FileExts = Registry.CurrentUser.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts");
RegistryKey faulty = FileExts.OpenSubKey(".hdr");
Debug.Assert (faulty != null && faulty.SubKeyCount != 0);
faulty.Close();
FileExts.DeleteSubKeyTree(".hdr");
Et je reçois le ArgumentException
avec le message « Impossible de supprimer un arbre de sous-clé, car la sous-clé n'existe pas. »
WTF? J'ai vérifié et affirmé qu'il existait?
mise à jour du statut
Recherche avec Process Monitor, la sous-clé de ".hdr" obtient une erreur ACCESS DENIED
lors de l'exécution du code. J'ai vérifié les autorisations, mais ils ont l'air bien?
Utilisez-vous un système d'exploitation 64 bits? – Chris
Oui, Windows 7 pro 64bits – CharlesB
Chris peut être sur quelque chose: le registre est virtualisé, donc vous regardez la mauvaise version. –