Vb6 在当前用户注册表中注册OCX

Vb6 在当前用户注册表中注册OCX,vb6,registry,activex,Vb6,Registry,Activex,是否可以在VB6.0中以编程方式在当前用户注册表中注册OCX或dll?我搜索了很多,但没有找到任何解决方案。我已经在本地机器级别找到了注册代码,但在当前用户级别找不到任何帮助,下面是包含在本地机器上注册dll代码的链接 请给我一些指导,这样我就可以只为当前用户注册我的控件。如果DLL注册本身取决于DLL及其作者,则调用应用程序对此没有直接控制权 如果是针对单个特定DLL,您可以尝试自己创建注册表项,但您需要确切地知道需要注册哪些对象、接口和TypeLib及其详细信息。这不是我自己会做的事情,除了

是否可以在VB6.0中以编程方式在当前用户注册表中注册OCX或dll?我搜索了很多,但没有找到任何解决方案。我已经在本地机器级别找到了注册代码,但在当前用户级别找不到任何帮助,下面是包含在本地机器上注册dll代码的链接


请给我一些指导,这样我就可以只为当前用户注册我的控件。

如果DLL注册本身取决于DLL及其作者,则调用应用程序对此没有直接控制权


如果是针对单个特定DLL,您可以尝试自己创建注册表项,但您需要确切地知道需要注册哪些对象、接口和TypeLib及其详细信息。这不是我自己会做的事情,除了我编写的最简单的DLL,其中DLL注册本身取决于DLL及其作者,调用应用程序对此没有直接控制权


如果是针对单个特定DLL,您可以尝试自己创建注册表项,但您需要确切地知道需要注册哪些对象、接口和TypeLib及其详细信息。这不是我自己会做的事情,除了我编写的最简单的DLL之外。VB6编译器根据COM自注册的标准发出自注册代码,这意味着每台机器级别的注册

这是一个打包和部署问题,而不是编程问题

正如Windows Installer的文档所示,自注册被认为是一种回退机制。大多数情况下,您的安装过程应该注册这样的库本身,而不是调用self-reg入口点。这提供了几个好处,包括在按用户安装期间进行按用户注册的可能性

但是从WindowsXP开始,一个新的选项就出现了。您可以独立安装应用程序,而无需组件注册,这一技术也称为无注册COM。这允许在不注册任何级别的组件的情况下安装应用程序,并允许不同的应用程序使用其所需的大多数非系统组件库的私有副本。例外情况是进程外服务器,它总是需要每台机器注册


因此,寻找一个工具,旨在协助注册免费COM包装。有一些开源产品供VB6开发人员使用,一些更通用的商业工具,以及一些Microsoft manifest工具,它们需要更多的手动配置,但在这方面应该很有用。

VB6编译器根据COM自注册的标准发出自注册代码,这意味着每台机器级别的注册

这是一个打包和部署问题,而不是编程问题

正如Windows Installer的文档所示,自注册被认为是一种回退机制。大多数情况下,您的安装过程应该注册这样的库本身,而不是调用self-reg入口点。这提供了几个好处,包括在按用户安装期间进行按用户注册的可能性

但是从WindowsXP开始,一个新的选项就出现了。您可以独立安装应用程序,而无需组件注册,这一技术也称为无注册COM。这允许在不注册任何级别的组件的情况下安装应用程序,并允许不同的应用程序使用其所需的大多数非系统组件库的私有副本。例外情况是进程外服务器,它总是需要每台机器注册


因此,寻找一个工具,旨在协助注册免费COM包装。有一些开源产品供VB6开发人员使用,还有一些更通用的商业工具,还有一些Microsoft清单工具,它们需要更多的手动配置,但在这方面应该很有用。

I支持RegFree com方法。我花了相当长的时间才适应,但从长远来看,它省去了很多麻烦。我使用的是来自微软的肩并肩的Manifestmaker,我很想看到有人写一篇关于使用微软的Windows SDK工具来实现这一点的可靠文章。到目前为止,我读到的东西包含了很多挥手的内容,没有有效的例子。我支持RegFree com方法。我花了相当长的时间才适应,但从长远来看,它省去了很多麻烦。我使用的是来自微软的肩并肩的Manifestmaker,我很想看到有人写一篇关于使用微软的Windows SDK工具来实现这一点的可靠文章。到目前为止,我读到的东西包含了很多挥手的内容,没有有效的例子。