summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2009-06-13 09:07:01 +0000
committerMartin v. Löwis <martin@v.loewis.de>2009-06-13 09:07:01 +0000
commit1cfa3926f9067ed486bf46af44dcc83c64084a57 (patch)
tree810d978caa2f9bc19c89aea0c0ef8d371d6a64f7
parentdd0b90a367f4c04a0d2b210f59a29a2eb2200fec (diff)
downloadcpython-git-1cfa3926f9067ed486bf46af44dcc83c64084a57.tar.gz
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. ........
-rw-r--r--Lib/distutils/command/bdist_msi.py9
-rw-r--r--Lib/msilib/__init__.py10
-rw-r--r--Misc/NEWS2
3 files changed, 16 insertions, 5 deletions
diff --git a/Lib/distutils/command/bdist_msi.py b/Lib/distutils/command/bdist_msi.py
index f94d9579d2..da0b30d864 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 b13d0306f1..71cced251a 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 2c9c121de2..24018acf4a 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.