diff options
author | Mark Benvenuto <mark.benvenuto@mongodb.com> | 2016-09-20 17:19:37 -0400 |
---|---|---|
committer | Mark Benvenuto <mark.benvenuto@mongodb.com> | 2016-09-20 17:19:37 -0400 |
commit | 585edf79040ed44db42e174b8659ca7290fa48cf (patch) | |
tree | 319b90d318d37ec1bb074562b97023db13b572b4 /src/mongo/installer | |
parent | 5caef723f0f0dc52636d10e05a0ae8da8985e94b (diff) | |
download | mongo-585edf79040ed44db42e174b8659ca7290fa48cf.tar.gz |
SERVER-26128 Allow Side-By-Side Install of 3.4 MSIs with other versions
Diffstat (limited to 'src/mongo/installer')
-rw-r--r-- | src/mongo/installer/msi/SConscript | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/src/mongo/installer/msi/SConscript b/src/mongo/installer/msi/SConscript index b923ec5a6c7..e0e910c3121 100644 --- a/src/mongo/installer/msi/SConscript +++ b/src/mongo/installer/msi/SConscript @@ -45,7 +45,7 @@ if 'enterprise' in env['MONGO_MODULES']: msi_edition = 'Enterprise' msi_flavor = '2008R2Plus' msi_platform = 'x64' - upgrade_code = 'E7FE8DF3-00F1-4434-97DF-2721E7F712FA' + upgrade_code = '7C0EF607-3C54-4365-98F4-259C15502BC5' # Community else: if has_option('ssl'): @@ -55,18 +55,18 @@ else: if env['TARGET_ARCH'] == 'i386': msi_platform = 'x86' msi_flavor = '' - upgrade_code = 'B2E70C13-483E-4E16-B6AA-FCCA7983B767' + upgrade_code = '5308B51A-A882-47BF-917A-E506A990DA3C' else: msi_platform = 'x64' if env.get('WIN_VERSION_MIN') == 'ws08r2' or env.get('WIN_VERSION_MIN') == 'win7': msi_flavor = '2008R2Plus' if msi_edition == 'SSL': - upgrade_code = '86CB92A1-E631-4C63-89D2-40A7159B938B' + upgrade_code = 'B4C6C314-4E88-4C1F-B708-0E7935DAE299' else: - upgrade_code = '448C9172-C5E7-42E0-81CB-00DAA191DD98' + upgrade_code = '3E874911-94EF-4E21-867F-32209F084449' else: msi_flavor = 'Legacy' - upgrade_code = '54BEB8CC-C8F7-4292-A411-BDE0A9F21CA3' + upgrade_code = '9295A251-1B1F-45FB-96FF-35B57E490613' if 'msi' in BUILD_TARGETS and msi_edition == 'SSL' and msi_flavor != '2008R2Plus': print "Building the MongoDB SSL MSI is only supported on Windows 2008 R2+ or Windows 7+ platforms." @@ -88,6 +88,23 @@ major_version = full_version mv = major_version.split('.') major_version = "%s.%s" % (mv[0], mv[1]) +# We must regenerate the upgrade codes for each major release. +# i.e., 3.0, 3.2, 3.4 need new codes but not 3.2.1, 3.2.2, etc +# The build will now fail when the major version is bumped to prevent mistakes. +# When the upgrade codes are bumped, remember to raise the version number to the next major version. +# On each update to the upgrade codes: +# 1. Generate new GUIDs +# 2. Ensure each MSI gets a different GUID. This is used to identify products. +# It allows upgrade from 3.2.0 to 3.2.1 in place instead of side-by-side. +# 3. Update the check for the next major release below so we bump the GUIDs in the future. +# +if float(major_version) > 3.4: + # If you are troubleshooting this error, see the comment above + env.FatalError("The upgrade codes are out of date for this release. Please\n" + + "replace the existing GUIDs listed in this file with new GUIDs so" + + "side-by-side installation of major versions (i.e. 3.2, and 3.4) is" + + "supported.") + # Currently, we are planning to key the same upgrade code for each # (msi_edition, msi_platform, msi_flavor) combination # and change MSI ProductId on minor updates, 2.6.0 -> 2.6.1, we let Wix do automatic |