From 1cfa3926f9067ed486bf46af44dcc83c64084a57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20v=2E=20L=C3=B6wis?= Date: Sat, 13 Jun 2009 09:07:01 +0000 Subject: [PATCH] Merged revisions 73390 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r73390 | martin.v.loewis | 2009-06-12 19:28:31 +0200 (Fr, 12 Jun 2009) | 3 lines Support AMD64 in msilib. Set Win64 on reglocator. Fixes #6258. ........ --- Lib/distutils/command/bdist_msi.py | 9 +++++++-- Lib/msilib/__init__.py | 10 +++++++--- Misc/NEWS | 2 ++ 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/Lib/distutils/command/bdist_msi.py b/Lib/distutils/command/bdist_msi.py index f94d9579d21..da0b30d8644 100644 --- a/Lib/distutils/command/bdist_msi.py +++ b/Lib/distutils/command/bdist_msi.py @@ -282,9 +282,14 @@ class bdist_msi (Command): PYTHON.USER if defined, else from PYTHON.MACHINE. PYTHON is PYTHONDIR\python.exe""" install_path = r"SOFTWARE\Python\PythonCore\%s\InstallPath" % self.target_version + if msilib.Win64: + # type: msidbLocatorTypeRawValue + msidbLocatorType64bit + Type = 2+16 + else: + Type = 2 add_data(self.db, "RegLocator", - [("python.machine", 2, install_path, None, 2), - ("python.user", 1, install_path, None, 2)]) + [("python.machine", 2, install_path, None, Type), + ("python.user", 1, install_path, None, Type)]) add_data(self.db, "AppSearch", [("PYTHON.MACHINE", "python.machine"), ("PYTHON.USER", "python.user")]) diff --git a/Lib/msilib/__init__.py b/Lib/msilib/__init__.py index b13d0306f12..71cced251a3 100644 --- a/Lib/msilib/__init__.py +++ b/Lib/msilib/__init__.py @@ -2,9 +2,11 @@ # Copyright (C) 2005 Martin v. Löwis # Licensed to PSF under a Contributor Agreement. from _msi import * -import os, string, re +import os, string, re, sys -Win64=0 +AMD64 = "AMD64" in sys.version +Itanium = "Itanium" in sys.version +Win64 = AMD64 or Itanium # Partially taken from Wine datasizemask= 0x00ff @@ -145,8 +147,10 @@ def init_database(name, schema, si.SetProperty(PID_TITLE, "Installation Database") si.SetProperty(PID_SUBJECT, ProductName) si.SetProperty(PID_AUTHOR, Manufacturer) - if Win64: + if Itanium: si.SetProperty(PID_TEMPLATE, "Intel64;1033") + elif AMD64: + si.SetProperty(PID_TEMPLATE, "x64;1033") else: si.SetProperty(PID_TEMPLATE, "Intel;1033") si.SetProperty(PID_REVNUMBER, gen_uuid()) diff --git a/Misc/NEWS b/Misc/NEWS index 2c9c121de25..24018acf4a6 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -56,6 +56,8 @@ Core and Builtins Library ------- +- Issue #6258: Support AMD64 in bdist_msi. + - Issue #5262: Fixed bug in next rollover time computation in TimedRotatingFileHandler.