问题
I've created a 32-bit and 64-bit version of my BHO (C++ code). The 32-bit version loads fine in IE 9 32-bit, but not the 64-bit version in IE 9 64 on WIndows 7.
I have double checked that:
- the 64-bit DLL is indeed 64-bit code (
dumpbin /headers
on the DLL) - Registry entries
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects
andHKEY_CLASSES_ROOT\Wow6432Node\CLSID
are correct - my IE 64-bit can load 3rd party extension (2 BHO are actually loaded)
I don't know what to do at this point to debug the issue.
Note: I'm aware of Browser Helper Object doesnot get loaded in IE8 and other related questions about 64-bit BHO, but their problem and solutions are different
回答1:
The problem was my misunderstanding of how to register a BHO for 64-bit. By calling the 32-bit or 64-bit version of regsvr32, the DLL will be registered as a 32-bit (Wow6432Node) or 64-bit. I don't have to worry about which registry to use inside my DLL, only to cal the right regsvr32.
来源:https://stackoverflow.com/questions/14133139/64bit-bho-not-loading-inside-ie-9-64