BeCubed 6 的许可错误消息
无聊的介绍:
在我的工作场所,我们有一个非常古老的 WinForms 产品(从 1994 年开始上市,仍然在 VB3 上运行)。 它有三个截然不同的版本,每个版本都面向一位客户。 客户端将其传递给他们的用户,其中一些是共享的。 这些版本可以并存。
五年前,我们用 C#.Net 重写了其中一个版本。 两年后,另一个版本(我们称之为版本M)被重写,两年后,是时候转换最后一个剩余版本(我们称之为版本C)了。 我们已经工作一年了,本周将投入生产。
在转换过程中,我们决定不转换任何作为外部模块出售的东西; 这些是用 VB6 构建的,它们使用了 BeCubed 和 FarPoint。 M 版本中有两个这样的模块,C 版本中有三个这样的模块。 每个模块都有自己的 MSI 安装程序,由主产品的安装程序悄悄运行。
bug
在生产过程中,我们发现了一个 bug:当版本 C 安装在新计算机上,然后安装版本 M 时,一旦在版本 C 中打开外部模块,我们就会收到一条消息:
点击确定后,模块正常工作。 此外,当它们以任何其他顺序安装并且版本 M 中的两个模块都能完美工作时,不会发生这种情况。
其他细节
- 所有 OCX 和 DLL 文件都已通过所有模块设置进行了比较; 文件是相同的。
- 当仅安装一个版本 M 或 C 或首先安装 M 时,所有模块都可以工作。
- 我们拥有我们使用的所有软件的许可证,包括 BeCubed。
有谁知道什么可能导致这样的错误,可能的解决方案是什么?
Boring introduction:
In my workplace, we have a very old WinForms product (in market since 1994, and still running on VB3). It has three very different versions, each of them goes to one client. The clients pass it on to their users, some of which are shared. The versions can live side-by-side.
Five years ago, we rewrote one of those versions in C#.Net. Two years later, another version (let's call it version M) was rewritten, and two years after that, it was time for the last remaining version (let's call it version C) to be converted. We've been working for one year, and are going to production this week.
During the conversions, it has been decided not to convert anything that was sold as an external module; these were built in VB6, and they used several controls from BeCubed and FarPoint. There are two such modules in version M, and three modules in version C.
Each module has it's own MSI installer, which is run quietly by the main product's installer.
The bug
During production, we found a bug: when version C in installed on a fresh computer, then version M is installed, we get a message as soon as an external module is opened in version C:
After clicking Ok, the module works. Also, this doesn't happen when they are installed in any other order and both modules in version M work perfectly.
Other details
- All OCX and DLL files have been compared through all the module setups; the files are identical.
- All modules work when only one version M or C is installed, or when M is installed first.
- We have licenses for all the software we use, including BeCubed.
Does anyone know what could cause such an error, what could be a possible solution?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
好吧,由于文件没有任何更改,可能注册表中的某些内容发生了更改。
但这似乎是您应该联系 BeCubed 解决的问题,询问他们如何打开扩展日志记录或请求他们支持。
目前还没有足够的信息来了解到底发生了什么......
Well, as nothing is changed to the file maybe something is changed in the registry.
But this seems like an issue you should contact BeCubed for, ask them how to turn on extended logging or ask them for support.
Right now there is not enough information to know what really happens...
显然,其中一个模块将 OCX 安装到系统目录(默认 C:\Windows\System),其他模块将它们安装到程序文件目录(
C:\Program Files\公司名称\共享文件
)。 这可能会导致双重注册 OCX 或类似内容的冲突。 我不知道那里出了什么问题,但是当我们像其他人一样将一个模块更改为安装在Shared Files
文件夹中时,问题就解决了。 我在这里写这篇文章是为了如果有人遇到类似的问题,他可以检查以确保所有文件都安装在同一位置。Apparently, one of the modules installed the OCX's to the system directory (default
C:\Windows\System
), and the others installed them to a program files directory (C:\Program Files\CompanyName\Shared Files
). That probably causes a conflict in doubly registering the OCX's or something like that. I have no idea what was wrong there, but when we changed the one module to install in theShared Files
folder like everyone else, the problem was fixed. I'm writing this here so if anyone has a similar problem, he could check to make sure all the files are installed at the same location.