使用 regsvr32 注册 OCX.exe并使其可供所有用户使用



我有一个第三方 Web 应用程序,它依赖于要在用户计算机上注册的特定 OCX 文件。 我以管理员身份进入计算机并使用以下命令注册文件:

REGSVR32/S MyFile.ocx

这工作正常,我可以毫无问题地使用 Web 应用程序。 在注册表编辑器中,我可以看到控件已正确注册。

但是,当另一个用户登录到不是管理员的计算机并尝试运行 Web 应用程序时,它不起作用。

如果我将该用户添加到管理员组并让他们运行REGSVR32命令,则对他们来说效果很好。 不幸的是,允许所有用户成为其计算机上的管理员对我来说确实是不可行的。

有没有办法将 OCX 文件注册到 REGSVR32 并使其可供所有用户使用,即使是没有管理员权限的用户?

谢谢!

通常 regsvr32 在 HKEY_LOCAL_MACHINE\software\Class 中注册 CLSID 信息,因此注册应该对所有用户可见。

问题可能出在您的 OCX 上。 它可能会在启动时执行某些操作,从而阻止非管理员用户打开它。 例如,它需要向注册表写入HKEY_LOCAL_MACHINE内容,写入Windows目录,...

您可以使用进程监视器工具检查此OCX是否正在为非管理员用户执行某些操作,并检查ACCESS_DENIED错误。

如果您的OCX在管理员帐户下没有执行任何操作,您可以尝试做的是使用RegSvrEx工具在杠杆下注册HKEY_CURRENT_USER OCX。 这样,您的 OCX 将在 current_user_level 下注册

相关内容

  • 没有找到相关文章

最新更新