在创建 Web 应用程序期间,我收到以下弹出消息:
“Visual Studio 没有权限从注册表中读取模板信息,这通常是由注册表权限问题引起的。”
任何人有任何解决方案?请帮我。我想看看 Visual Studio 的新功能。
谢谢
在创建 Web 应用程序期间,我收到以下弹出消息:
“Visual Studio 没有权限从注册表中读取模板信息,这通常是由注册表权限问题引起的。”
任何人有任何解决方案?请帮我。我想看看 Visual Studio 的新功能。
谢谢
这可能是一个很晚的答案,但我遇到了同样的问题,我在 msdn 页面上找到了解决方案:这是原始解决方案消息:
我在 Visual Studio 2010 和 Windows 7 中遇到了这个问题。我还没有找到这个问题的根源,但是我发现很多 Visual Studio 用户都遇到了它。我尝试了迈克尔的解决方案来解决这个问题,但它造成的伤害比其他任何事情都大。它甚至让 Visual Studio 启动到“Shell 模式”并告诉我注册无效。使用系统还原我回滚了 subinacl 工具和 Michaels 脚本所做的更改(它可能不适用于 Windows 7,首先导致错误)。作为一个长期的 Visual Studio 用户和一个很好的故障排除者,我知道 subinacl 是解决问题的正确工具,但脚本对于我的特定设置是不正确的。我将脚本调整如下:(这是一个批处理脚本)
cd /d "%programfiles% (x86)\Windows Resource Kits\Tools"
subinacl /subkeyreg HKEY_CLASSES_ROOT\VisualStudio* /setowner=domain\user
subinacl /subkeyreg HKEY_CLASSES_ROOT\VisualStudio* /grant=everyone=f
/grant=administrators=f /grant=system=f
pause
我试图在授权命令中包含“setowner”命令(在同一行),但它会一直抛出错误。此脚本修复了我在 Windows 7 和 Visual Studio 2010 中的“请求的注册表访问权限”。如果您想尝试此脚本:按照 Michael 的说明操作,但使用本文中提供的脚本并将“域\用户”替换为适当的凭据。如果您将其安装在不同的地方或未使用 64 位操作系统,您可能还需要更改 Windows 资源工具包的路径。在使用此脚本之前,请备份您的注册表。
我希望这有帮助!
我也有这个问题。关注了 user2698666 的帖子,但没有成功。卡住进程监视器,发现有更多的注册表项导致了一个名为 WDExpress 的问题。以为我会发布我的修复以防其他人有同样的问题:
subinacl /subkeyreg HKEY_CLASSES_ROOT\VisualStudio* /setowner=domain\user
subinacl /subkeyreg HKEY_CLASSES_ROOT\VisualStudio* /grant=everyone=f /grant=administrators=f /grant=system=f
subinacl /subkeyreg HKEY_CLASSES_ROOT\WDExpress* /setowner=domain\user
subinacl /subkeyreg HKEY_CLASSES_ROOT\WDExpress* /grant=everyone=f /grant=administrators=f /grant=system=f
我遇到了 Visual Studio 13 的问题,我想在其中为我新创建的解决方案添加一个 webtest 项目。尝试了上述技巧来设置 ACL,但没有奏效。
最后使用 Procmon.exe 找到 Visual Studio 正在执行的操作(仅包括进程名称 devenv.exe)并查找结果 Access Denied。它会告诉您哪些注册表项不可访问。
就我而言,是导致问题的 regkey HKCR.webtest (HKEY_CLASSES_ROOT.webtest)。获得所有权并分配访问权解决了我的问题。
我不知道问题的根源是怎么回事。
以上对我没有用,因为即使我是管理员,我也一直被 regedit 拒绝。
我在另一个网站上找到了这个:
psexec -i -d -s c:\windows\regedit.exe
psexec 可在此处从 Microsoft 获得
http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx
这给了我完整的注册表访问权限。我试图为管理员所有者提供上述特定键,但 VS 2012 express 仍然抛出该注册表权限错误。所以我最后只是将Administrator添加到regedit中整个HKEY_LOCAL_MACHINE\SOFTWARE\Classes\目录的权限列表中。然后让管理员完全控制。
这行得通。我现在可以创建一个没有该地狱般错误的项目!
这个问题与所讨论的上下文中的权限无关。该问题是由于 Microsoft 的安装程序测试马虎导致注册表中的模板文件路径不正确引起的。当用户尝试启动新项目时,不正确的路径会引发错误,并且按照 Microsoft 的风格,会显示关于权限的通用且无意义的错误消息。
这里是具体的问题。在某些机器中(假设C:
是主驱动器并且user1
是用户的登录名和版本 2013)模板文件的位置是C:\users\user1\my documents\visual studio 2013\projects
. 不幸的是,安装程序在注册表中写入的安装路径是C:\users\user1\documents\visual studio 2013\projects
. 因此,它指向\documents
而正确的位置是\my documents
。可以肯定的是,查看您的visual studio 2013\projects
文件夹所在的位置 - 文档或我的文档 - 并将注册表项更改为正确的位置。
对于我的示例,密钥HKEY_CURRENT_USER\software\Microsoft\VisualStudio\12.0\NewProjectDialog\MRUSettingsLocalProjectLocationEntries
位于路径中的Value0
条目中。检查并更改以使其准确指向您的项目文件夹所在的位置。