访问Project>时出错参考窗口?

时间:2008-09-19 18:36:23

标签: vb6 registry regtlib

在Visual Basic 6中,当我尝试访问 Project>引用,它会引发错误:

  

访问系统注册表时出错

我:

  • 以本地计算机管理员身份登录
  • 运行Windows XP Professional和
  • 我可以执行regedt32.exe并访问所有注册表项。

VB6作为本地管理员安装。

知道为什么会这样吗?


我正在运行水晶报告8.5,它应该已经解决了这个问题,但显然我仍然遇到安装8.5的问题。我也尝试重新安装水晶报告,但没有运气。

14 个答案:

答案 0 :(得分:22)

根据您拥有的Windows操作系统(我有Windows 7企业版),您可能想尝试授予REGTLIB.EXE(位于C:\ Windws)的管理员权限。右键单击REGTLIB.EXE文件。从弹出菜单中选择“属性”。然后选择“兼容性”选项卡。在“兼容性”选项卡上,选中/选择“以管理员身份运行此程序”复选框。单击“确定”保存更改。可能需要为您解决问题。它对我有用。祝你好运。

答案 1 :(得分:11)

对我来说这很有效:

  1. 转到C:\ Program Files \ Microsoft Visual Studio \ VB98
  2. 通过右键单击更改VB6.EXE的属性 - >兼容性在权限级别部分,选中“以管理员身份运行此程序”选项

答案 2 :(得分:5)

如果您正在运行Office 2010(Beta)Word(显然)会写一个受限制的注册表项。扫描注册表时VB会抛出错误。我的关键是: HKCR \ {类型库00020905-0000-0000-C000-000000000046} \ 8.5

对于Regmon - 过程名称过滤 - > “vb6.exe”和结果 - > “拒绝访问”。帮助很快找到它。

使用PSToosl(PSEXEC)修复它以运行注册表编辑器(命令行是 psexec -i -d -s c:\ windows \ regedit.exe 从Run-As-Administrator命令行。 HTH 吉姆。 编辑/ ps - 我在Windows 7(x64)框中。提升的权限需要PSTools解决方案。 XP可以少走一点。

答案 3 :(得分:1)

您可以尝试Process Monitor查看访问的注册表项。

答案 4 :(得分:1)

我在用于VB6开发的机器上得到了这个。我一直在从VB6构建很多COM DLL(没有二进制兼容性),并且在注册表中构建的副本最终得到了太多。

查看注册表的大小以及您设置的限制。我将注册表大小加倍,然后去寻找一个好的注册表胡佛。

答案 5 :(得分:1)

以下是Microsoft的解决方案。它引用了Crystal Reports问题,但解决方案只是使用regedit32遍历 HKEY_CLASSES_ROOT \ TypeLib HKEY_CLASSES_ROOT \ CLSID 注册表分支以获取调暗的密钥并更正这些密钥的安全性。如果regedit32无法访问密钥,还有修复安全性的说明。 Article ID: 269383

答案 6 :(得分:1)

在Windows 7中,转到开始菜单,然后右键单击" Microsoft Visual Basic 6"然后选择属性并从出现的对话框中单击“兼容性”,然后勾选“#34;以管理员身份运行此程序"。

答案 7 :(得分:0)

你有没有试过this?基本上,这似乎是一个水晶报道问题。希望有所帮助。

答案 8 :(得分:0)

或许值得一试“用户帐户控制设置”。 的问候,

enter image description here

答案 9 :(得分:0)

当我在Win7-64上安装VB6时(使用搜索引擎很容易找到的指令),它运行正常。 UAC关闭 - 即设置为“从不通知。”

几周后我开启了UAC - 即将其设置为默认值。由于“访问系统注册表时出错”问题,VB6无法编译。不幸的是,再次关闭它并没有帮助。显然,打开它所造成的伤害是不可逆转的。我无法解释为什么会这样,但那是我的经历。

给予REGTLIB.EXE管理权限,同时让UAC听起来像个好主意,但这对我来说也不起作用。

最后,使用Process Monitor和PsTools,如其他帖子中所描述的那样有效。但是,我必须对Everyone的大部分注册表进行完全控制。这不仅适用于隔离键。似乎编译器需要向主节点添加密钥,因此我不得不打开这些整个节点。

除了通过这些步骤花费数小时的事实,我现在比我尝试通过UAC增加安全性之前暴露得更多,但是,我需要VB6并且看不到另一个新的解决方案计算机。

课程:不要将UAC与VB6一起使用。除非你到达这里,否则为时已​​晚。

答案 10 :(得分:0)

这是VB6的安装问题。尝试在您的系统上重新安装VB6。否则用“以管理员身份运行”打开“visual studio 6.0”。然后通过 - New Project - >打开/浏览您的项目.vbp文件。现有标签。

答案 11 :(得分:0)

我在Windows 7计算机上尝试了所有这些,但我通过完全控制SYSTEM注册表来解决问题。我不知道VB6 SP6B是什么键读取或写入。所以我试图回过头来回答权利问题。所以我修复它,这创造了一个serity braak。

答案 12 :(得分:0)

我已经解决了这个问题。但上述建议都没有奏效。我所做的是让每个人都完全控制注册表中的signal.isValid密钥。这会产生安全漏洞。我正在使用vb6 serice pack 6B运行64位Windows 7。

答案 13 :(得分:0)

我正在运行Windows 10 Pro(10.0.16299 Build 16299)64位。我在尝试编译VB6 DLL时出现此错误。

我在这篇文章中看到了几个以管理员身份在兼容模式下运行的答案。我以为我会先尝试在Windows XP(sp2)的兼容模式下运行。检查完该框后,我能够编译我的DLL。我没有需要以管理员身份运行。