]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Merged revisions 73391 via svnmerge from
authorMartin v. Löwis <martin@v.loewis.de>
Sat, 13 Jun 2009 09:20:26 +0000 (09:20 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Sat, 13 Jun 2009 09:20:26 +0000 (09:20 +0000)
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r73391 | martin.v.loewis | 2009-06-12 19:31:41 +0200 (Fr, 12 Jun 2009) | 10 lines

  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
Lib/msilib/__init__.py
Misc/NEWS

index aab89cd6096a5c4822187f0c1af0d6dd7520e22d..27ef03087b02a17f7d0e08a926f439319e04a42b 100644 (file)
@@ -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")])
index ae3823a61ade005fa7a694548939ca0ea7d16a5a..114a1c788cbb2818a9e89677ef4369e3dfdbc241 100644 (file)
@@ -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())
index ca71aef259754020f90c353bdf841207051a8a37..21f54494550197b2dbfa015cf49b2e620c1b6001 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -73,6 +73,8 @@ Core and Builtins
 Library
 -------
 
+- Issue #6258: Support AMD64 in bdist_msi.
+
 - Fix a bug in the trace module where a bytes object from co_lnotab had its
   items being passed through ord(). (Fixes Issue #3821)