我正在尝试注册一个 x64 COM 服务器 dll,以便在 x64 windows 7 上的 x64 office 中使用。我已按照此处的说明进行操作,但无法注册该 dll。当我尝试时,我收到以下错误:
我使用的命令是regsvr32 my_x64_com_server.dll
为什么会发生这种情况,是否有解决方法?
提前致谢。
我正在尝试注册一个 x64 COM 服务器 dll,以便在 x64 windows 7 上的 x64 office 中使用。我已按照此处的说明进行操作,但无法注册该 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
which 将重定向到真实%windir%\System32\
目录(但仅来自 32 位进程,因此如果您使用它,请注意确保没有人尝试从 64 位进程运行命令)。
有关详细信息,请参阅MSDN 上的文件系统重定向器。
当我将 windows 2003 升级到 windows 2012 服务器时,我遇到了类似的问题。以下解决方案帮助我解决了它。我必须将 dll 注册为 32 位。
**
- 解决方案:
**以管理员身份打开命令提示符
**键入要执行dll的目录执行regsvr32