【发布时间】:2020-05-01 14:11:03
【问题描述】:
这里的人使用的是一个旧的编译VB程序,最后一个版本是16岁。它适用于某些机器,但不适用于其他机器,都具有相同的 1709 版本和 Windows 10 的更新。
如果它不起作用,则会显示一条消息,指出 msdatlst.ocx 或 msdatgrd.ocx 未注册。然后,当我尝试向regsvr32 'MSDATGRD.OCX' 注册时,会出现一条消息"the module was loaded but the entry-point was not found"。同样的命令在程序运行的机器上也是成功的。
我确实在这里阅读了一些问题,但没有一个答案能解决我的问题。有什么想法吗?
【问题讨论】:
-
以管理员身份运行 cmd.exe 并尝试 regsvr32 "path_to_msdatgrd.ocx"。
-
另外,尝试注册任何其他 ocx 或 COM/ActiveX dll 文件。如果问题仍然存在,请尝试 Process Monitor 对其进行故障排除stackoverflow.com/questions/59463345/… 如果没有任何帮助,请尝试为您的 ocx 文件使用小型设置应用程序。您可以使用 Visual Studio 或一些设置工具(如 Setup Factory)来实现。
-
VB6 是 32 位的,因此您必须在
C:\Windows\SysWOW64中使用 32 位 regsrv32,并且如前所述以管理员身份运行。 -
@Smith:是的,我是以管理员身份完成的
-
@Mark 我一开始也是这么想的,但后来我读到了另一个问答:stackoverflow.com/questions/18935163/… 现在我不确定了。
标签: windows dll vb6 ocx regsvr32