2013-11-03 92 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"); 

用戶決定選擇哪個鍵,因此我不能寫下來。

那麼有什麼想法?

回答