下面的代码是如此基本,几乎无关紧要。问题是,我的ClickOnce应用程序如何不能在HKEY_CURRENT_USER中写下以下值,但可以写入值并创建子键甚至在HKCU的其他部分? (例如,Office AddIn注册密钥。)权限中没有任何内容表明情况就是如此。然而,我在下面的代码中得到了与访问相关的异常。
任何线索?
TIA, MM
Public Const UNINSTALL_KEY As String = "Software\Microsoft\Windows\CurrentVersion\Uninstall"
Dim key As RegistryKey = Registry.CurrentUser.OpenSubKey(UNINSTALL_KEY)
Dim subKey As RegistryKey
Dim subkeyNames() As String = key.GetSubKeyNames()
Dim cmd As String = ""
For Each keyName As String In subkeyNames
subKey = key.CreateSubKey(keyName, RegistryKeyPermissionCheck.ReadWriteSubTree)
If (subKey.GetValue(searchValueName) = searchValue) Then
subKey.SetValue("NoRepair", 1, RegistryValueKind.DWord)
subKey.SetValue("NoModify", 1, RegistryValueKind.DWord)
cmd = subKey.GetValue("UninstallString")
End If
subKey.Close()
If cmd <> "" Then Exit For
Next
key.Close()