首页 > 解决方案 > VB6 部署不适用于第二个用户

问题描述

我有一个使用 Microsoft 开发环境部署的 VB6 应用程序。

安装包适用于 Windows 7/10 32/64 位。

我遇到的问题是,如果第二个用户登录 Windows 并运行已安装的应用程序,某些控件无法正常工作。包含 MSCOMCT2.OCX、TABCTL32.OCX 和其他可能失败的表单:“组件……或其中一个是未正确注册的依赖项:文件丢失或无效”

但是对于安装该应用程序的用户来说,一切都很好。我看到在其他安装中可以选择仅为我或所有用户安装。我看不到在“Microsoft 开发环境”中实现它的方法,这是我的问题吗?

如果您为所有用户安装应用程序会发生什么变化?

标签: windowsdeploymentvb6

解决方案


这可能与注册表虚拟化有关。应用程序可能在某种兼容模式下运行,因此控件并未真正安装在系统范围内。

我对这些设置不太熟悉,但可以对其进行调整,以便真正为所有用户注册 DLL/OCX 文件并相应地运行应用程序。如果故意设置兼容性设置,则存在风险,这可能会破坏其他内容。

希望这是一个有用的起点。


我将补充一点,IMO 安装应用程序不需要注册是一个更强大的解决方案。请参阅如何强制 VB6 使用 app 目录中的 DLL 和 OCX?


推荐阅读