C++ VC6正在记住activeX控制器使用的dll位置,我找不到在哪里更改它

C++ VC6正在记住activeX控制器使用的dll位置,我找不到在哪里更改它,c++,dll,activex,visual-c++-6,C++,Dll,Activex,Visual C++ 6,我将一个项目从一个目录移动到另一个目录,刚刚添加了我制作的ActiveX控制器(它使用我制作的dll)。我从来没有告诉VC6在哪里找到dll,我所做的只是添加ActiveX控制器,当我部署项目时,它工作正常,但我无法进行远程调试,当我这样做时,它会显示“未找到文件”,并说明dll的旧位置(在项目中,我将dll放在项目目录的根目录中,它工作正常,因此我没有质疑它)我已经对项目中的所有文件进行了文本搜索,检查了dll、activeX代码、注册表和VC6项目的设置,没有任何地方可以找到对这个旧文件路径

我将一个项目从一个目录移动到另一个目录,刚刚添加了我制作的ActiveX控制器(它使用我制作的dll)。我从来没有告诉VC6在哪里找到dll,我所做的只是添加ActiveX控制器,当我部署项目时,它工作正常,但我无法进行远程调试,当我这样做时,它会显示“未找到文件”,并说明dll的旧位置(在项目中,我将dll放在项目目录的根目录中,它工作正常,因此我没有质疑它)我已经对项目中的所有文件进行了文本搜索,检查了dll、activeX代码、注册表和VC6项目的设置,没有任何地方可以找到对这个旧文件路径的引用,有什么想法吗

什么版本的Windows?如果它是64位的,那么您确定要在正确的注册表树中查找,32位和64位有单独的注册表树。使用VC6构建时,DLL在32位部分注册。

Visual Studio 6,你是认真的吗?我判断的不是我的公司:)该位置存储在注册表中,由Regsvr32.exe放在那里。生成控件时自动完成。这也需要在远程机器上发生,它不是自动的。很难猜测它是如何记住旧路径的,DLL中的注册码应该是borken。或者你只是通过自己入侵注册表来错误地注册了它。但是在两个计算机注册表中都没有对旧路径的引用。。。regsvr32作为安装程序的一部分自动完成activex构建的最后一步是自动向regsvr32.exe注册二进制文件。如果要将二进制文件移动到另一个位置,只需将dll文件复制到新位置,然后手动将其重新注册到Regsvr32.exe,dll文件的新位置将更新到注册表中。例如:
Regsvr32 c:\NewDllDirectory\MyDll.dll