[Python-Dev] Registry keys written by x64 installer

Michael Urman murman at gmail.com
Fri Jul 13 04:34:50 CEST 2007


On 7/12/07, Mark Hammond <mhammond at skippinet.com.au> wrote:
> I'm afraid my knowledge of MSI is very limited, so I'm not sure where to
> start.  One thing I did notice is that msilib\__init__.py has a variable
> 'Win64' set, hard-coded to 0 - but I've no idea if it is relevant.
> Presumably it is relevant to *something*, otherwise it would not have been
> created - but its unclear when and how this should be set to 1, and if this
> should concern people trying to use bdist_msi to create x64 extension
> packages - but for now, let's just stick with the topic at hand - the
> registry keys set by the installer.

Per the requirements documented at
http://msdn2.microsoft.com/En-US/library/aa372396.aspx, the behavior
you describe is expected for a 32-bit installer. (To install files and
registry to 64-bit locations, the Template Summary must include
Intel64 or x64 depending on which architecture, and the component must
be marked as 64-bit).

I'm not familiar with how msilib is invoked to create the MSI files in
question, but it does look like setting Win64 to 1 at an early enough
time would cause an Intel64 installer to be built, along with entirely
64-bit components. This wouldn't work for x64 machines, and all
components being 64-bit may be incorrect: potentially the 64-bit
installer should have some 32-bit components.

-- 
Michael Urman


More information about the Python-Dev mailing list