summaryrefslogtreecommitdiffstats
path: root/Tools
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2008-09-13 08:36:22 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2008-09-13 08:36:22 (GMT)
commita9aff014a86d40924e9f44f62cec2632b53ede11 (patch)
tree3b28eb3e42a22cb6d8415a60ed8ceef307278ee0 /Tools
parentab0b29bd81b6aef489492bdeda4e745661550fc8 (diff)
downloadcpython-a9aff014a86d40924e9f44f62cec2632b53ede11.zip
cpython-a9aff014a86d40924e9f44f62cec2632b53ede11.tar.gz
cpython-a9aff014a86d40924e9f44f62cec2632b53ede11.tar.bz2
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.
Diffstat (limited to 'Tools')
-rw-r--r--Tools/msi/msi.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/Tools/msi/msi.py b/Tools/msi/msi.py
index dff0e2d..59ea9b5 100644
--- a/Tools/msi/msi.py
+++ b/Tools/msi/msi.py
@@ -172,6 +172,10 @@ if msilib.pe_type(dll_path) != msilib.pe_type("msisupport.dll"):
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 @@ def build_database():
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")