Could not open key: UNKNOWN\Components\7ABFE44842C12B390AF18C3B9B1A1EE8\000021599B0090400100000000F01FEC.
Verify that you have sufficient access to that key, or contact your support personnel.
如图所示:
以上图片借用一下,呵呵,根据提示,很明显是注册表项权限问题
解决SQL Server 2008 R2安装过程中提示Could not open key的解决方法:
以管理员身份运行CMD命令提示符,输入以下语句并运行就OK了
secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose
按照错误提示,去找到了注册表项000021599B0090400100000000F01FEC,但这项administrator权限下无法授权,更无法删除,知道是这里的问题,但怎么着就是无法更改,一些注册表工具使用了也无济于事,这条命令就是重置系统权限配置。
红字部分命令解析:总得来说,这条命令的意思是把系统安全配置重置为系统默认设置; defltbase.inf是 系统安全配置模版, defltbase.sdb 是系统安全配置库 ,就是以系统默认安全模版重写系统安全配置库。这条命令可以解决很多安装软件遇到的权限问题,这些权限问题大多是之前安装过相同的软件,卸载不完全造成的注册表项锁死,无法更改权限或删除表项。
secedit 命令用法, 网上搜一下吧。
打开注册表去访问log中对应键值,提示由于某个错误无法打开该密钥,拒绝访问。右键权限中看到权限中是控的也没有所有着,尝试添加所有者,但是无法保存,依然提示拒绝访问。
继续尝试恢复Windows默认权限的命令:
SECEDIT /CONFIGURE /CFG %WINDIR%\INF\DEFLTBASE.INF /DB DEFLTBASE.SDB /VERBOSE /AREAS REGKEYS
依旧出错:
出现了扩展错误。
任务已结束,但有错误。
有关详细信息,请参阅日志 %windir%\security\logs\scesrv.log
scesrv.log中显示:
2013年10月24日 0:18:53
----配置引擎初始化成功。----
----正在读取配置模板信息...
----配置 64 位注册表项...
配置 users\.default。
配置 machine\software。
配置 machine\software\classes。
警告 5: 拒绝访问。
在 machine\software\classes 上设置安全性的错误
最后通过修复以下键值的权限搞好了:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components