2013-11-03 90 views
0

我希望能够修改HKEY_CLASSES_ROOT的所有子项。C#注册表权限

我有以下清单代码:

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 

我有以下的汇编代码:

[assembly: RegistryPermissionAttribute(SecurityAction.RequestMinimum, ViewAndModify = "HKEY_CLASSES_ROOT")] 

这工作:

Registry.ClassesRoot.CreateSubKey("._test"); 

但这种失败(除非关键是以编程方式创建):

由于desired_subkey在程序执行期间动态地选择

[assembly: RegistryPermissionAttribute(SecurityAction.RequestMinimum, ViewAndModify = "HKEY_CLASSES_ROOT/desired_subkey")] 

RegistryKey key = Registry.ClassesRoot.OpenSubKey("any_key"); 
key.CreateSubKey("._test"); 

用户决定选择哪个键,因此我不能写下来。

那么有什么想法?

回答