如何在64位Windows 7上注册64位COM dll?

时间:2013-04-03 03:30:41

标签: visual-c++ com atl windows-7-x64 regsvr32

我正在尝试注册x64 COM服务器dll,以便在x64 windows 7上的x64办公室中使用。我已按照说明here但我无法注册dll。当我尝试收到以下错误时:

regsvr error message

我使用的命令是regsvr32 my_x64_com_server.dll

为什么会发生这种情况,是否有解决方法?

提前致谢。

2 个答案:

答案 0 :(得分:6)

命令是如何运行的?从进程或命令行?

确保从64位进程(或64位cmd.exe控制台窗口)运行该命令。否则,%windir%\System32\regsvr32.exe命令将被重定向到%windir%\SysWoW64\regsvr32.exe,并且将运行32位regsrv32(不能注册64位DLL)。

你也可以尝试使用%windir%\sysnative\regsvr32.exe重定向到真正的%windir%\System32\目录(但只能从32位进程,所以如果你使用它,请注意确保没有人试图运行来自64位进程的命令)。

有关详细信息,请参阅File System Redirector on MSDN

答案 1 :(得分:0)

我在将 windows 2003 升级到 windows 2012 服务器时遇到了类似的问题。下面的解决方案帮助我解决了它。我必须将 dll 注册为 32 位。

**

- 解决方案:

**以管理员身份打开命令提示符

**输入要执行dll的目录 执行 regsvr32