我試圖在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'? –
是的,結果相同。 –