2013-04-03 161 views
2

我试图在64位Windows 7上注册一个x64 COM服务器dll以用于x64 office。我按照说明here但我无法注册该dll。当我尝试,我得到以下错误:如何在64位Windows 7上注册64位COM DLL?

regsvr error message

我使用的命令是regsvr32 my_x64_com_server.dll

这究竟是为什么,是有解决方法吗?

在此先感谢。

+0

它应该是一个非限定路径的默认值,但您是否尝试过显式运行'%windir%\ System32 \ regsvr32.exe my_x64_com_server.dll'? –

+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

+0

感谢大家的回复。我的问题已解决,但我不知道为什么。我清理并重建了我的所有资源,并按照上面的说明操作,并且所有工作都按预期工作。 –