C# - Fichier de l'Association de l'Accès à la clé de registre 'HKEY_CLASSES_ROOT\' est refusé

J'ai actuellement un programme qui définit l'association de fichier à l'aide de la base de registre (Remarque, c'est un .NET 2.0 donc je dois passer par la méthode d'enregistrement). Le problème est, car il essaie d'écrire à HKCR, il existe la possibilité de courir dans un problème administratif (sur d'autres machines). Est-il une manière plus universelle pour définir l'association de fichier (par .NET 2.0) comme l'utilisation HKCU ou d'une autre méthode qui ne nécessite pas de privilèges d'administration.

string keyName = "Class";
string keyValue = "Class File";
string apppath = Application.ExecutablePath.ToLower() + " \"%1\"";
RegistryKey key;
key = Registry.ClassesRoot.CreateSubKey(keyName);
key.SetValue("", keyValue);

RegistryKey iconkey;
key = Registry.ClassesRoot.CreateSubKey(keyName);
iconkey = key.CreateSubKey("DefaultIcon");
iconkey.SetValue("", Environment.CurrentDirectory + "\\resources\\musicfile.ico");

key = key.CreateSubKey("shell");
key = key.CreateSubKey("open");
key = key.CreateSubKey("command");
key.SetValue("", apppath);

OriginalL'auteur user | 2011-01-05