无聊介绍:
在我的工作场所,我们有一个非常古老的 WinForms 产品(自 1994 年以来一直在市场上,并且仍在 VB3 上运行)。它有三个非常不同的版本,每个版本都发给一个客户。客户将其传递给他们的用户,其中一些是共享的。这些版本可以并排存在。
五年前,我们用 C#.Net 重写了其中一个版本。两年后,另一个版本(我们称之为版本 M)被重写,两年后,是时候转换最后一个剩余的版本(我们称之为版本 C)了。我们已经工作了一年,本周将投入生产。
在转换期间,已决定不转换任何作为外部模块出售的东西;这些是用 VB6 构建的,它们使用了BeCubed和FarPoint的几个控件。版本 M 中有两个这样的模块,版本 C 中有三个模块。每个模块都有自己的 MSI 安装程序,由主产品的安装程序安静地运行。
错误
在生产过程中,我们发现了一个错误:当在新计算机上安装版本 C,然后安装版本 M,在版本 C 中打开外部模块时,我们会收到一条消息:
单击确定后,模块工作。此外,当它们以任何其他顺序安装并且版本 M 中的两个模块都可以正常工作时,不会发生这种情况。
其他详情
- 所有 OCX 和 DLL 文件都已通过所有模块设置进行了比较;这些文件是相同的。
- 当仅安装一个版本 M 或 C 或首先安装 M 时,所有模块都可以工作。
- 我们拥有我们使用的所有软件的许可证,包括 BeCubed。
有谁知道什么可能导致这样的错误,可能的解决方案是什么?