[Python-Dev] Registry keys written by x64 installer

Michael Urman murman at gmail.com
Fri Jul 13 15:44:50 CEST 2007


On 7/13/07, Mark Hammond <mhammond at skippinet.com.au> wrote:
> On Friday, 13 July 2007, Michael Urman wrote:
> I suspect I'm still missing something here.  The title of the page you
> referenced before is "Using 64-Bit Windows Installer Packages" - I suspect
> that is different than a 32-Bit installer package installing a 64bit
> program!

I haven't worked with it enough to know all the intracacies, but the
short of what I know is if your template is i386, you can only install
to 32-bit locations. If it is x64 or Intel64, then you can only
install on machines of those architectures, and the 64-bit locations
become available to components marked as 64-bit.

> using _winreg is (almost) like using the API directly.
> RegDisable[/Enable]ReflectionKey appears to let the 32bit process see the
> real keys - I'm not aware of how 64bit apps would enable that reflection,
> but it probably doesn't really matter for our purposes.  In case anyone is
> interested, I just made a patch to _winreg.c adding these 2 functions
> (http://python.org/sf/1753245) in case anyone would like to review it.

http://msdn2.microsoft.com/en-us/library/aa384129.aspx describes the
KEY_WOW64_64KEY and KEY_WOW64_32KEY flags, allowing explicit access to
either set from either type of application.

> I think Tools\msi is what you are looking for, but hopefully Martin will
> chime in.  I'm more than happy to help test.

Thanks, and I see he has, and perhaps I've been looking at an incorrect file...

-- 
Michael Urman


More information about the Python-Dev mailing list