2012-05-04 38 views
0

我寫了一個擴展Windows上下文菜單的資源管理器的COM DLL,通過regsvr32註冊在32位Windows上正常工作,但在64位它不工作沒有任何線索。 regsvr32報告成功註冊,但Dll不起作用。我試圖從SysWow64目錄和system32中調用regsvr32,這並不是我猜想的原因。檢查註冊表 - 一切都寫入註冊表wow3264Node ofcourse(因爲安裝在64位操作系統上)。仍然沒有發生。目前很難提供任何特定的信息。任何人都可以建議或指出這種行爲的其他可能原因。提前致謝。64位資源管理器插件註冊問題

回答

0

你需要編譯你的DLL爲64位。註冊碼寫入Wow6432Node的事實表明您的DLL是32位。在64位操作系統上,Explorer是64位進程,因此只能加載64位外殼擴展。

不要忘記在64位機器上註冊32位和64位版本的shell擴展,以便任何32位程序都能看到你的shell擴展。你這樣做使用C:\Windows\SysWOW64\regsvr32

+0

該插件是爲i86和amd64架構而構建的,所以在目前情況下並非如此。註冊表樹存在 - 一個用於32 wow6432node,另一個用於本機win64註冊表路徑。不過謝謝你的建議。任何可能導致此類問題的其他方面? – user1138436

+0

什麼是i86?你的意思是x86。您的評論與您在問題中所說的內容矛盾。 –

+0

x86 - 這是一個錯字 關於矛盾 - 那是關於wow6432node?請澄清 – user1138436

相關問題