[Python-3000-checkins] r66442 - in python/branches/py3k: Tools/msi/msi.py

martin.v.loewis python-3000-checkins at python.org
Sat Sep 13 10:37:17 CEST 2008


Author: martin.v.loewis
Date: Sat Sep 13 10:37:17 2008
New Revision: 66442

Log:
Merged revisions 66441 via svnmerge from 
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r66441 | martin.v.loewis | 2008-09-13 10:36:22 +0200 (Sa, 13 Sep 2008) | 1 line
  
  Change product code of Win64 installer to allow simultaneous installation on Win32 and Win64; also change product name to be able to distinguish the two in ARP.
........


Modified:
   python/branches/py3k/   (props changed)
   python/branches/py3k/Tools/msi/msi.py

Modified: python/branches/py3k/Tools/msi/msi.py
==============================================================================
--- python/branches/py3k/Tools/msi/msi.py	(original)
+++ python/branches/py3k/Tools/msi/msi.py	Sat Sep 13 10:37:17 2008
@@ -172,6 +172,10 @@
     raise SystemError("msisupport.dll for incorrect architecture")
 if msilib.Win64:
     upgrade_code = upgrade_code_64
+    # Bump the last digit of the code by one, so that 32-bit and 64-bit
+    # releases get separate product codes
+    digit = hex((int(product_code[-2],16)+1)%16)[-1]
+    product_code = product_code[:-2] + digit + '}'
 
 if testpackage:
     ext = 'px'
@@ -201,11 +205,15 @@
         uc = upgrade_code_snapshot
     else:
         uc = upgrade_code
+    if msilib.Win64:
+        productsuffix = " (64-bit)"
+    else:
+        productsuffix = ""
     # schema represents the installer 2.0 database schema.
     # sequence is the set of standard sequences
     # (ui/execute, admin/advt/install)
     db = msilib.init_database("python-%s%s.msi" % (full_current_version, msilib.arch_ext),
-                  schema, ProductName="Python "+full_current_version,
+                  schema, ProductName="Python "+full_current_version+productsuffix,
                   ProductCode=product_code,
                   ProductVersion=current_version,
                   Manufacturer=u"Python Software Foundation")


More information about the Python-3000-checkins mailing list