enthought / enthought/comtypes
have 64-bit client check 32-bit registry hive
- Dominant language
- Python
- Stars
- 345
- Forks
- 105
- PR merge metrics
- No merged PRs in 30d
Description
Suggestion (apologies if it's been done, I didn't find it). When a 64-bit client attempts to look up a class, interface, or object and can't find it, could we have it check the 32-bit registry hive automatically? Should we?
As long at the IDL stays away from pointers you can do out-of-process COM across bitnesses. But unless the server (or the user) takes special pains to register itself in both hives one won't be visible from the other.
Use the Visual Studio wizard to create a default MFC MDI exe project, check the "automation" box on the advanced tab, build in 32-bit mode. From a 64-bit python process you can't see the (vacuous but valid) document interface and class it exposes. Rebuild in 64-bit mode and you can talk to it successfully.
When you're developing the server side in both bitnesses everything about this is a pain. I end up running a stale "wrong bitness" build via the registry all the time. But for the important case of driving a (possibly legacy) 32-bit installed application from a 64-bit python making it just happen would be nice.
Contributor guide
Assessment
This issue has not been assessed yet.