Wednesday, January 3, 2018

Not all Windows COM objects are available on both bitnesses

I discovered while trying to test my P/Invoke command-line tool on the File History API that CLSID_FhConfigMgr can't be instantiated from a 32-bit program on a 64-bit system. The class is simply not registered for 32-bit programs; there is no Registry configuration for it under WOW6432Node and the DLL that implements it (fhcfg.dll) doesn't exist under SysWOW64. Therefore, applications that work with File History (or any other COM object that isn't implemented on both bitnesses at once) must be compiled for 32-bit and 64-bit separately, otherwise they'll break on one architecture.

No comments:

Post a Comment