Ошибка доступа к проекту> Окно ссылок?

В Visual Basic 6, когда я пытаюсь получить доступ к Project> References, выдается ошибка:

Ошибка доступа к системному реестру

Я:

  • Вы вошли как администратор локального компьютера
  • под управлением Windows XP Professional и
  • Я могу выполнить regedt32.exe и получить доступ ко всем ключам реестра просто отлично.

VB6 был установлен как локальный администратор.

Есть идеи, почему это происходит?


Я использую Crystal Reports 8.5, и он должен был решить эту проблему, но, очевидно, у меня все еще есть проблема с 8.5 установлен. Я также предпринял попытку переустановки отчетов Crystal, но безуспешно.

Ответ 1

В зависимости от ОС Windows (у меня есть Windows 7 Enterprise), вы можете попробовать предоставить права администратора REGTLIB.EXE(расположенному в C:\Windws). Щелкните правой кнопкой мыши файл REGTLIB.EXE. Выберите "Свойства" во всплывающем меню. Затем выберите вкладку Совместимость. На вкладке Совместимость установите флажок Запустить эту программу как Администратор. Нажмите "ОК", чтобы сохранить изменения. Возможно, вам придется позаботиться о проблеме. Это сработало для меня. Удачи.

Ответ 2

Для меня это сработало:

  • goto C:\Program Files\Microsoft Visual Studio\VB98
  • измените свойство VB6.EXE правой кнопкой мыши- > Совместимость. В разделе уровня привилегий установите флажок Запустить эту программу как Администратор.

Ответ 3

Если вы используете Word 2010 (бета-версия), то, по-видимому, записывает ограниченный раздел реестра. VB выдает ошибку при сканировании реестра. Ключ у меня есть: HKCR\TypeLib {00020905-0000-0000-C000-000000000046}\8.5

Для Regmon - фильтр для имени процесса → "vb6.exe" и результат → "ACCESS DENIED". Помогает найти его очень быстро.

Исправлено это с PSToosl (PSEXEC) для запуска редактора реестра (в командной строке psexec -i -d -s c:\windows\regedit.exe из командной строки Run-As-Administrator. НТН Джим. edit/ps - Я нахожусь в окне Windows 7 (x64). Для повышенных разрешений требуется решение PSTools. XP может обойтись немного меньше.

Ответ 4

Вы можете попробовать Process Monitor, чтобы узнать, какие ключи реестра доступны.

Ответ 5

Я получил это на машине, которую я использовал для разработки VB6. Я создавал много COM-библиотек из VB6 (без двоичной совместимости), и трещина, которая была создана в реестре, в конечном итоге стала слишком большой.

Посмотрите, какой размер реестра и какой лимит вы установили. Я удвоил размер реестра, а затем отправился на поиски хорошего пылесоса в реестре.

Ответ 6

Вот решение от Microsoft. Он ссылается на проблему Crystal Reports, но решение просто использует regedit32 для перехода в разделы реестра HKEY_CLASSES_ROOT\TypeLib и HKEY_CLASSES_ROOT\CLSID для недоступных ключей и исправления безопасности этих ключей. Существуют также инструкции по исправлению безопасности, если regedit32 не может получить доступ к ключу. Код статьи: 269383

Ответ 7

В Windows 7 перейдите в меню "Пуск", затем щелкните правой кнопкой мыши "Microsoft Visual Basic 6", затем выберите свойства и нажмите "Совместимость" в появившемся диалоговом окне, затем отметьте "Запустить эту программу как администратор".

Ответ 8

Вы пробовали это? В принципе, похоже, что это проблема с кристальными отчетами. Надеюсь, что это поможет.

Ответ 9

Возможно, стоит попробовать перейти в "Настройки управления учетными записями пользователей". С уважением,

enter image description here

Ответ 10

Когда я установил VB6 на Win7-64 (с помощью инструкций, легко найденных поисковой системой), он работал нормально. UAC отключен, т.е. Настроен на "никогда не уведомлять".

Через несколько недель я включил UAC, то есть установил его по умолчанию. VB6 затем не удалось скомпилировать из-за проблемы "Ошибка доступа к системному реестру". К сожалению, отключить его снова не помогло. Очевидно, ущерб, нанесенный его включением, был необратимым. Я не могу объяснить, почему это должно быть, но это мой опыт.

Предоставление административным привилегии REGTLIB.EXE при выходе из UAC не звучало как отличная идея, но это тоже не помогло мне.

Наконец, работа с Process Monitor и PsTools, как описано в других сообщениях, работала. Тем не менее, я должен был полностью управлять большими частями моего реестра для всех. Это не относится только к изолированным ключам. Кажется, компилятор должен добавить ключи к основным узлам, поэтому мне пришлось открыть все эти узлы.

Помимо того, что работа над этими шагами длилась несколько часов, я теперь гораздо более разоблачен, чем раньше, чем пытался повысить безопасность через UAC. Однако мне нужен VB6 и не вижу другого решения, компьютер.

Урок: не используйте UAC с VB6. Кроме того, если вы приехали сюда слишком поздно для этого.

Ответ 11

Это проблема с VB6. Попробуйте повторно использовать VB6 в своей системе. В противном случае откройте "visual studio 6.0" с "Запуск от имени администратора". Затем откройте/просмотрите файл проекта .vbp через - Новый проект → Текущая вкладка.

Ответ 12

Я пробовал все это на машине с Windows 7, но я исправил эту проблему, дав постоянный полный контроль над системным реестром. Я не знаю, к чему ключ VB6 SP6B транслирует чтение или запись. Поэтому я попытался вернуться с правами, и проблема вернулась. Поэтому я исправил это, и это создает бесчеловечный ум.

Ответ 13

Я исправил проблему. Но ни одно из приведенных выше предложений не работало. То, что я сделал, дает всем полный контроль над ключом SYSTEM в реестре. Это создает разрыв безопасности. Я запускаю 64-битную Windows 7 с пакетом 6b vb6 serice.

Ответ 14

Я запускаю Windows 10 Pro (10.0.16299 Build 16299) 64 бит. У меня была эта ошибка при попытке скомпилировать библиотеку VB6.

Я видел несколько ответов в этом сообщении о запуске в режиме совместимости как администратора. Я думал, что сначала попробую запустить в режиме совместимости для Windows XP (sp2). Я смог скомпилировать свою DLL после проверки этого окна. Я не должен был работать как администратор.