在Visual Basic 6中,当我尝试访问 Project>引用,它会引发错误:
访问系统注册表时出错
我:
regedt32.exe
并访问所有注册表项。 VB6作为本地管理员安装。
知道为什么会这样吗?
我正在运行水晶报告8.5,它应该已经解决了这个问题,但显然我仍然遇到安装8.5的问题。我也尝试重新安装水晶报告,但没有运气。
答案 0 :(得分:22)
根据您拥有的Windows操作系统(我有Windows 7企业版),您可能想尝试授予REGTLIB.EXE(位于C:\ Windws)的管理员权限。右键单击REGTLIB.EXE文件。从弹出菜单中选择“属性”。然后选择“兼容性”选项卡。在“兼容性”选项卡上,选中/选择“以管理员身份运行此程序”复选框。单击“确定”保存更改。可能需要为您解决问题。它对我有用。祝你好运。
答案 1 :(得分:11)
对我来说这很有效:
答案 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)
或许值得一试“用户帐户控制设置”。 的问候,
答案 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。我没有需要以管理员身份运行。