windows - VB6 部署不适用于第二个用户
问题描述
我有一个使用 Microsoft 开发环境部署的 VB6 应用程序。
安装包适用于 Windows 7/10 32/64 位。
我遇到的问题是,如果第二个用户登录 Windows 并运行已安装的应用程序,某些控件无法正常工作。包含 MSCOMCT2.OCX、TABCTL32.OCX 和其他可能失败的表单:“组件……或其中一个是未正确注册的依赖项:文件丢失或无效”
但是对于安装该应用程序的用户来说,一切都很好。我看到在其他安装中可以选择仅为我或所有用户安装。我看不到在“Microsoft 开发环境”中实现它的方法,这是我的问题吗?
如果您为所有用户安装应用程序会发生什么变化?
解决方案
这可能与注册表虚拟化有关。应用程序可能在某种兼容模式下运行,因此控件并未真正安装在系统范围内。
我对这些设置不太熟悉,但可以对其进行调整,以便真正为所有用户注册 DLL/OCX 文件并相应地运行应用程序。如果故意设置兼容性设置,则存在风险,这可能会破坏其他内容。
希望这是一个有用的起点。
我将补充一点,IMO 安装应用程序不需要注册是一个更强大的解决方案。请参阅如何强制 VB6 使用 app 目录中的 DLL 和 OCX?
推荐阅读
- javascript - 'match' 和 'interpolate' 组合的 mapbox 表达式
- python - Simulink 不接收来自 python tcp 服务器的数据
- r - 在 R 中集成带有两个参数的函数
- javascript - 无法从 mongodb 获取值
- python - 试图让程序在 id 之后添加一个字符串
- java - 如何在没有参数的情况下对特定行的 ArrayList 进行排序,以区分该特定元素中的第一个条目和第二个条目?
- python - 在列的行中选择有限的值
- javascript - 向页面添加漂亮的滚动条
- c - 如何在使用泛型指针时增加多个数据类型
- go - 不允许分配相同的类型