2008-09-19 6 views
8

В Visual Basic 6, при попытке получить доступ к Project> Ссылки, он выдает ошибку:Ошибка доступа к системному реестру в VB 6 IDE

Error accessing system registry

Я:

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

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

Любая идея, почему это происходит?


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

ответ

0

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

1

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

+1

Вы имеете в виду regmon? Я пробовал это, и все, кажется, в порядке. Может быть, я просто не использую фильтрацию правильно. – phill 2008-09-20 15:45:44

+0

Да, я имел в виду регмон. Process Monitor связывает regmon, filemon и procmon в одном приложении, но в основном это одно и то же. Вы должны увидеть, какие ключи VB пытается получить доступ, и если это был успех или неудача. Очевидно, вы должны искать неудачи. – dummy 2008-09-20 18:13:22

1

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

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

18

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

+1

Как ты понял это? Я (к сожалению) строю некоторый код VB6 на девственной коробке с 64-разрядной версией Windows 7 с МИНИМАЛЬНОЙ установкой vb6.exe (я отключил вариант КАЖДЫЙ). И застрял, и нашел это. Если бы я мог, я бы дал вам 20 очков. VB6 отстой. COM отстой. Это сообщение было потрясающим. – granadaCoder 2012-05-09 19:52:59

4

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

Для Regmon - Фильтр для Имя процесса -> "vb6.exe" и Результат -> "ДОСТУП ЗАПРЕЩЕН". Помогает найти его очень быстро.

Fixed его с PSToosl (Psexec), чтобы запустить редактор реестра (командная строка была PsExec -i -d -sc:. \ Windows \ regedit.exe из командной строки Run-As-администратора НТН Джим. edit/ps - Я нахожусь в окне Windows 7 (x64). Повышенные разрешения требуют решения PSTools. XP может уйти с меньшим количеством.

1

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

0

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

enter image description here

0

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

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

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

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

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

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

0

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

1

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

9

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

  1. Гото C: \ Program Files \ Microsoft Visual Studio \ VB98
  2. изменения свойств VB6.EXE правой Нажать на> Совместимость В разделе Уровень привилегий, проверьте option Запустите эту программу как Администратор
0

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

0

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

0

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

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