首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RDweb:不能同时多次运行遗留VB6 DLL

RDweb:不能同时多次运行遗留VB6 DLL
EN

Stack Overflow用户
提问于 2020-04-07 22:52:33
回答 1查看 227关注 0票数 6

我们在所有客户端的本地C驱动器上安装了一个VB6程序,以及一个相关的VB6 DLL程序。这个程序在我90年代之前就被写了回去。它的设计并不是为了运行服务器或允许多个用户同时访问同一个EXE,因此它位于每个人的C驱动器上。但是,它的所有运行会话都通过ODBC引用单独Server上的同一个数据库源。数据库连接工作正常。

好的,这就是历史,每个人都在远程工作(Covid19)!

今天的--然而--我们的客户端都通过RD网远程访问虚拟服务器。我们希望他们避免使用我们的VPN。我们有两个分配给RDweb用户的虚拟服务器: TS01和TS02,以及多达64个用户的许可证。每个用户都会自动分配两台服务器中的一台。如果两个人同时登录,一个在TS01,另一个在TS02 --一切都很好!当第三人登录并被分配给任何一个服务器并运行该程序时,当程序崩溃时,就会出现以下错误:

DLL是在Computer\HKEY_CLASSES_ROOT\Computer\HKEY_LOCAL_MACHINE\SOFTWARE\中注册的,而不是LOCAL_USER,我认为是使它成为服务器环境中的多用户程序所必需的。

转换应用程序不是一个选项,因为我们没有VB6编译器。我们需要把DLL包装成“东西”吗?

任何想法如何使这个遗留程序运行为多个用户,将受到赞赏。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-20 21:02:07

尝试在每个用户文件夹中安装/复制VB程序和相关DLL(比如指向这些主目录的主文件夹和快捷方式)。如果程序运行,它应该以同样的方式更新数据库。有时,大多数的解决办法都很简单。如果他们需要不同的锁定DLL工作空间,那么给他们这个空间(以后可能会有内存问题)

请看这个https://stackoverflow.com/a/345154/12011019

https://learn.microsoft.com/en-us/archive/msdn-magazine/2005/april/simplify-app-deployment-with-clickonce-and-registration-free-com

有些DLL不是设计为共享的,如果不重新编程,则无法修改此行为。有进程和出进程(线程)DLL。或者还有很多其他的问题。如果它不起作用,它就不被设计所允许。

https://support.microsoft.com/en-au/help/911359/a-client-application-may-intermittently-receive-an-error-message-when

系统范围内使用的共享DLL不具有此限制,因为它们被设计用于许多应用程序。请试着评论一下这种行为。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61090672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档