【发布时间】:2021-04-08 00:12:15
【问题描述】:
一位客户最近给了我一些涉及他们(旧)VB6 程序的工作。我已经成功地在带有 Windows XP(32 位)的 VM 中安装了 VB6,它工作得很好。问题是当我尝试打开客户端的程序时。弹出以下消息:
crystl32.ocx 无法加载--继续加载项目?
无法加载FM20.DLL--继续加载项目?
之后有一堆关于crystl32.ocx的警告。 所以我尝试使用 regsvr32 注册依赖项,但它说找不到模块,即使它们就在那里。谷歌搜索问题后,我下载了 Dependency Walker 并找到这些文件需要哪些 dll 文件,它们是:
msvcr100.dll
IEShims.dll
wer.dll
crpe32.dll
下载完这些dll文件后,我尝试注册第一个,但是它说“找不到dllregisterserver入口点”。所以我先尝试注销它,但是找不到模块。
我已经重新安装了几次VB6,但没有效果。关于如何完成这项工作的任何想法?
【问题讨论】:
-
您是否已将 Crystal Reports 安装到 VM 中?
-
@BrianMStafford 我试过...不幸的是,我找不到像 4.6 或 CR XI 2 这样与 VB6 兼容的早期版本,因为 SAP 已经取消了大部分链接。
-
如果您从原始磁盘安装 VB6,您将在其中一个磁盘上安装 Crystal 作为单独安装。
-
你说你在虚拟机下运行这一切。如果你的主机操作系统是 Win-10,你可以直接在上面安装 VB,我发现这解决了很多依赖问题,尤其是涉及到 PDW 安装程序(你没有提到需要,但你显然还没到那个地步)。有几个技巧可以使它正常工作;这里有一篇文章解释了如何做到这一点:stackoverflow.com/questions/52001443/… 还要确保安装最终的服务包 (SP6)。
-
如果您在 64 位环境中运行,请确保您使用的是 regsvr32 的 32 位版本
标签: vb6