0

无聊介绍:

在我的工作场所,我们有一个非常古老的 WinForms 产品(自 1994 年以来一直在市场上,并且仍在 VB3 上运行)。它有三个非常不同的版本,每个版本都发给一个客户。客户将其传递给他们的用户,其中一些是共享的。这些版本可以并排存在。

五年前,我们用 C#.Net 重写了其中一个版本。两年后,另一个版本(我们称之为版本 M)被重写,两年后,是时候转换最后一个剩余的版本(我们称之为版本 C)了。我们已经工作了一年,本周将投入生产。

在转换期间,已决定不转换任何作为外部模块出售的东西;这些是用 VB6 构建的,它们使用了BeCubedFarPoint的几个控件。版本 M 中有两个这样的模块,版本 C 中有三个模块。每个模块都有自己的 MSI 安装程序,由主产品的安装程序安静地运行。

错误

在生产过程中,我们发现了一个错误:当在新计算机上安装版本 C,然后安装版本 M,在版本 C 中打开外部模块时,我们会收到一条消息:

BeCubed 错误

单击确定后,模块工作。此外,当它们以任何其他顺序安装并且版本 M 中的两个模块都可以正常工作时,不会发生这种情况。

其他详情

  • 所有 OCX 和 DLL 文件都已通过所有模块设置进行了比较;这些文件是相同的。
  • 当仅安装一个版本 M 或 C 或首先安装 M 时,所有模块都可以工作。
  • 我们拥有我们使用的所有软件的许可证,包括 BeCubed。

有谁知道什么可能导致这样的错误,可能的解决方案是什么?

4

2 回答 2

0

好吧,由于文件没有任何更改,因此注册表中可能发生了某些更改。

但这似乎是您应该联系 BeCubed 的问题,询问他们如何打开扩展日志记录或寻求支持。

目前还没有足够的信息来了解真正发生的事情......

于 2009-01-07T21:15:01.927 回答
0

显然,其中一个模块将 OCX 安装到系统目录(默认C:\Windows\System),而其他模块将它们安装到程序文件目录(C:\Program Files\CompanyName\Shared Files)。这可能会导致双重注册 OCX 或类似的东西时发生冲突。我不知道那里出了什么问题,但是当我们Shared Files像其他人一样将一个模块更改为安装在文件夹中时,问题就解决了。我在这里写这个,所以如果有人有类似的问题,他可以检查以确保所有文件都安装在同一位置。

于 2009-01-08T01:19:43.943 回答