summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2009-06-12 17:31:41 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2009-06-12 17:31:41 (GMT)
commit83eacca7a601df925a36455119633167a9093cdb (patch)
tree785589536b458e5f095a98c08c1a5233689df15a /Lib
parent58641defe45cd8b05c28dea31a8a189d7fb31ce0 (diff)
downloadcpython-83eacca7a601df925a36455119633167a9093cdb.zip
cpython-83eacca7a601df925a36455119633167a9093cdb.tar.gz
cpython-83eacca7a601df925a36455119633167a9093cdb.tar.bz2
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. ........
Diffstat (limited to 'Lib')
-rw-r--r--Lib/distutils/command/bdist_msi.py9
-rw-r--r--Lib/msilib/__init__.py10
2 files changed, 14 insertions, 5 deletions
diff --git a/Lib/distutils/command/bdist_msi.py b/Lib/distutils/command/bdist_msi.py
index bca98cc..2e5685f 100644
--- a/Lib/distutils/command/bdist_msi.py
+++ b/Lib/distutils/command/bdist_msi.py
@@ -341,9 +341,14 @@ class bdist_msi(Command):
exe_action = "PythonExe" + ver
target_dir_prop = "TARGETDIR" + ver
exe_prop = "PYTHON" + ver
+ if msilib.Win64:
+ # type: msidbLocatorTypeRawValue + msidbLocatorType64bit
+ Type = 2+16
+ else:
+ Type = 2
add_data(self.db, "RegLocator",
- [(machine_reg, 2, install_path, None, 2),
- (user_reg, 1, install_path, None, 2)])
+ [(machine_reg, 2, install_path, None, Type),
+ (user_reg, 1, install_path, None, Type)])
add_data(self.db, "AppSearch",
[(machine_prop, machine_reg),
(user_prop, user_reg)])
diff --git a/Lib/msilib/__init__.py b/Lib/msilib/__init__.py
index ae3823a..114a1c7 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())