我试图在64位Windows 7上注册一个x64 COM服务器dll以用于x64 office。我按照说明here但我无法注册该dll。当我尝试,我得到以下错误:如何在64位Windows 7上注册64位COM DLL?
我使用的命令是regsvr32 my_x64_com_server.dll
这究竟是为什么,是有解决方法吗?
在此先感谢。
我试图在64位Windows 7上注册一个x64 COM服务器dll以用于x64 office。我按照说明here但我无法注册该dll。当我尝试,我得到以下错误:如何在64位Windows 7上注册64位COM DLL?
我使用的命令是regsvr32 my_x64_com_server.dll
这究竟是为什么,是有解决方法吗?
在此先感谢。
命令是如何运行的?从一个进程或命令行?
确保命令正在从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。
感谢大家的回复。我的问题已解决,但我不知道为什么。我清理并重建了我的所有资源,并按照上面的说明操作,并且所有工作都按预期工作。 –
它应该是一个非限定路径的默认值,但您是否尝试过显式运行'%windir%\ System32 \ regsvr32.exe my_x64_com_server.dll'? –
是的,结果相同。 –