ClickOnce错误:“无法写入注册表项。”仅适用于某些键

时间:2014-06-06 04:23:32

标签: registry clickonce

下面的代码是如此基本,几乎无关紧要。问题是,我的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()

0 个答案:

没有答案