2013-04-03 201 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

感謝大家的回覆。我的問題已解決,但我不知道爲什麼。我清理並重建了我的所有資源,並按照上面的說明操作,並且所有工作都按預期工作。 –