2013-04-15 118 views
1

這條線的工作原理:拋出:SecurityException使用RegistryKey.OpenSubKey()

RegistryKey registryKey = Registry.LocalMachine.OpenSubKey(
    baseKeyName + subKey, RegistryKeyPermissionCheck.ReadWriteSubTree); 

雖然這些線產生SecurityException - Requested registry access is not allowed on the OpenSubKey線:

RegistryKey baseKey = RegistryKey.OpenBaseKey(
    RegistryHive.LocalMachine, RegistryView.Registry32); 
RegistryKey registryKey = baseKey.OpenSubKey(
    baseKeyName + subKey, RegistryKeyPermissionCheck.ReadWriteSubTree); 

在同一Win7的機器。

我做這種方式,因爲在「真實」的代碼有一個條件將使用的Registry64 RegistryView在64臺機器。

任何人有任何想法或變通辦法?

回答

0

除非應用程序以管理員身份運行,否則不允許寫入LocalMachine註冊表區域。

+0

它以管理員級別運行。 – user2284443

+0

經過進一步測試後,似乎只能在64位機器上使用RegistryView方法,即在32位和64位註冊表視圖中都可以使用RegistryView方法。如果你像我一樣在32位Win7中使用它,你會得到一個安全異常。 – user2284443

相關問題