Subject: | Bug in OLE.xs _Typelibs() function for Win64? |
Date: | Wed, 19 Aug 2009 18:47:04 -0600 |
To: | bug-Win32-OLE [...] rt.cpan.org |
From: | Joseph Galbraith <galb [...] vandyke.com> |
Hi,
The _Typelibs() function is always accessing the
"Win32" key when looking up the file path. This
can cause problems for the Const module (at least)
if the the component doesn't actually have a 32-bit
version correctly installed (I'm writing a component
that doesn't install a 32-bit version.)
I think there are several possibilities, for a solution:
1. We could call "Win32::OLE::Const::_Typelib" for the
"Win64" key if it exists and for the "Win32" key.
This probably works the best, I think, as _Typelib
everything will still work if one of the keys is
pointing to a file that no longer exists or is
otherwise mis-configured.
2. We could call prefer the "Win64" key, if present, for
x64 builds.
3. _Typelibs() could either parse the keyname, or otherwise
be told, so that it knows it is looking at the win64
data as opposed to the Wow6432 node, and use the "Win64"
key when looking an the win64 data.
Do any of these sound like a sane solution?
Does my analysis of the situation seem sound?
Thanks,
Joseph