Разрешение реестра для Visual Studio 2012

Во время создания веб-приложения я получил следующее всплывающее сообщение:

«У Visual Studio нет разрешений на чтение информации о шаблоне из реестра. Это часто вызвано проблемой с разрешениями реестра».

У кого-нибудь есть решение? Помогите мне, пожалуйста. Я хочу увидеть новые возможности Visual Studio.

Спасибо


person Yashwant Singh Rathore    schedule 17.08.2012    source источник
comment
Я подозреваю, что вы бы открыли экземпляр Visual Studio, установленный в другом профиле пользователя. Но он не был установлен в вашей учетной записи пользователя, и у вас нет прав доступа к этим папкам. Пожалуйста, проверьте системного администратора, который установил VS 2012.   -  person sankar    schedule 16.10.2012


Ответы (6)


это может быть довольно поздно в качестве ответа, но я столкнулся с той же проблемой и нашел решение на странице msdn: вот исходное сообщение о решении:

Я столкнулся с этой проблемой в Visual Studio 2010 и Windows 7. Я пока не нашел источник этой проблемы, но я обнаружил, что многие пользователи Visual Studio сталкивались с ней. Я попробовал решение этой проблемы, предложенное Майклом, и оно нанесло больше вреда, чем все остальное. Дошло даже до того, что Visual Studio загружалась в «режим оболочки» и сообщала мне, что регистрация недействительна. Используя восстановление системы, я откатил изменения, сделанные с помощью инструмента 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. Если вы хотите попробовать этот сценарий: следуйте инструкциям Майкла, но используйте сценарий, представленный в этом посте, и замените «домен\пользователь» на надлежащие учетные данные. Вам также может потребоваться изменить путь к наборам ресурсов Windows, если вы установили его в другом месте или не используете 64-разрядную ОС. Перед использованием этого сценария сделайте резервную копию реестра.

Я надеюсь, что это помогло!

* Исходная веб-страница была: не разрешено" rel="nofollow">http://social.msdn.microsoft.com/Forums/en-US/c273b0e1-7f46-4065-afaf-4edf285d2531/vista-wpfapplication-requested-registry-access- запрещено

person Community    schedule 06.09.2013
comment
Я попробовал твой способ, но он не сработал. Я не в домене, поэтому я оставил его пустым, я просто добавил свое имя пользователя. Есть ли у вас другие предложения? Я также запускаю Windows 7 64-бит. - person antf; 14.02.2014
comment
Ну, я исправил это, используя скрипт по предоставленной вами ссылке, но изменив путь в его скрипте на ваш, так как я на Windows 7. - person antf; 14.02.2014
comment
да - это правильно, использование %programfiles% (x86) не всегда работает на 64-битных компьютерах - person ; 14.02.2014
comment
Кстати, после запуска скрипта что-то пошло не так с explorer.exe, и я не смог открыть ни одну папку или открыть новое окно проводника. Чтобы исправить это, я открыл командную строку и использовал: secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose. Это может помочь другим, если они столкнутся с той же проблемой, что и моя. - person antf; 14.02.2014

У меня тоже была эта пробема. Безуспешно следил за сообщением пользователя 2698666. Застрял на нем Process Monitor и обнаружил, что в реестре есть еще записи, вызывающие проблему, называемую WDExpress. Думаю, я опубликую свое исправление, если у кого-то еще будет такая же проблема:

subinacl /subkeyreg HKEY_CLASSES_ROOT\VisualStudio* /setowner=домен\пользователь

subinacl /subkeyreg HKEY_CLASSES_ROOT\VisualStudio* /grant=everyone=f /grant=administrators=f /grant=system=f

subinacl /subkeyreg HKEY_CLASSES_ROOT\WDExpress* /setowner=домен\пользователь

subinacl /subkeyreg HKEY_CLASSES_ROOT\WDExpress* /grant=everyone=f /grant=administrators=f /grant=system=f

person AutoMattTick    schedule 23.02.2014

У меня была проблема с Visual Studio 13, где я хотел добавить проект веб-тестирования для моего недавно созданного решения. Пробовал вышеуказанные трюки для установки ACL, но это не сработало.

Наконец, использовал Procmon.exe, чтобы определить, что делает визуальная студия (включите только имя процесса devenv.exe), и найдите результат «Отказано в доступе». Он сообщит вам, какой раздел реестра недоступен.

В моем случае причиной проблемы был regkey HKCR.webtest (HKEY_CLASSES_ROOT.webtest). Взятие на себя ответственности и назначение доступа к этому решили мою проблему.

Я не знаю, как основная причина проблемы.

person Lars Meldgård    schedule 09.11.2014

Вышеупомянутое не сработало для меня, так как мне постоянно отказывали в regedit, хотя я был администратором.

Я нашел это на другом сайте:

psexec -i -d -s c:\windows\regedit.exe

psexec доступен от Microsoft здесь

http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

Это дало мне полный доступ к реестру. Я пытался назначить администратора для конкретных ключей, как указано выше, но VS 2012 Express все еще выдавал эту ошибку разрешения реестра. Итак, я, наконец, просто добавил администратора в список разрешений всего каталога HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ в regedit. Затем дал администраторам полный контроль.

Это сработало. Теперь я могу создать проект без этой адской ошибки!

person user326467    schedule 25.05.2014

Эта проблема не имеет ничего общего с разрешениями в обсуждаемом контексте. Проблема вызвана некорректным путем к файлам шаблонов в реестре из-за неаккуратного тестирования программы установки со стороны 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. Проверьте его и измените, чтобы он точно указывал на папку вашего проекта.

person user3096133    schedule 16.11.2014

Использование ProcMon Ларсом Мелдгардом было хорошим советом и помогло мне. Я просто хотел включить изображение того, как выглядит отказ в доступе в ProcMon. Мне приходилось делать это по одному ключу реестра за раз — это был не единственный ключ. Это было очень громоздко и медленно, но я смог сбить их один за другим и дать полные права на каждый. (Эта часть тоже доставляет хлопот, потому что мне пришлось стать владельцем, затем закрыть regedit, а затем вернуться, чтобы я мог установить разрешения; вы не можете сделать все это одним махом.)

введите здесь описание изображения

person James Toomey    schedule 09.09.2016