diff options
author | Eric Milkie <milkie@10gen.com> | 2013-10-07 09:14:18 -0400 |
---|---|---|
committer | Eric Milkie <milkie@10gen.com> | 2013-10-09 13:59:08 -0400 |
commit | 7ada7a8e110f5dc2c22a49aa7cea175bb9704a81 (patch) | |
tree | 2cd14f9ad777ce4a79a5a65314706d6fa57a4fde /src/mongo/installer | |
parent | d66535982976960ada4d2a05db213e40d08740ab (diff) | |
download | mongo-7ada7a8e110f5dc2c22a49aa7cea175bb9704a81.tar.gz |
SERVER-10830 msi builder as an scons target
Diffstat (limited to 'src/mongo/installer')
-rw-r--r-- | src/mongo/installer/msi/SConscript | 91 | ||||
-rw-r--r-- | src/mongo/installer/msi/wxs/BinaryFragment.wxs | 170 | ||||
-rw-r--r-- | src/mongo/installer/msi/wxs/FeatureFragment.wxs | 94 | ||||
-rw-r--r-- | src/mongo/installer/msi/wxs/Installer.wxs | 39 | ||||
-rw-r--r-- | src/mongo/installer/msi/wxs/Installer_64.wxs | 61 | ||||
-rw-r--r-- | src/mongo/installer/msi/wxs/LicensingFragment.wxs | 44 |
6 files changed, 499 insertions, 0 deletions
diff --git a/src/mongo/installer/msi/SConscript b/src/mongo/installer/msi/SConscript new file mode 100644 index 00000000000..0a294591218 --- /dev/null +++ b/src/mongo/installer/msi/SConscript @@ -0,0 +1,91 @@ +# -*- mode: python; -*- + +Import("env") +Import("installSetup") +Import("windows") +Import("mongoCodeVersion") +Import("s3push") + +# Build an msi +driverIncludeSource = "$BUILD_DIR/msi/DriverInclude.wxs" + +env = env.Clone() +env['WIXPATH'] = r'%ProgramFiles(x86)%\WiX Toolset v3.7\bin' +env['WIXHEAT'] = r'$WIXPATH\heat.exe' +env['WIXCANDLE'] = r'$WIXPATH\candle.exe' +env['WIXLIGHT'] = r'$WIXPATH\light.exe' +env['WIXUIEXT'] = r'$WIXPATH\WixUIExtension.dll' + +sources = [ driverIncludeSource, + "wxs/BinaryFragment.wxs", + "wxs/FeatureFragment.wxs", + "wxs/LicensingFragment.wxs", + "wxs/Installer_64.wxs" + ] +objects = [ "$BUILD_DIR/msi/DriverInclude.wixobj", + "$BUILD_DIR/msi/BinaryFragment.wixobj", + "$BUILD_DIR/msi/FeatureFragment.wixobj", + "$BUILD_DIR/msi/LicensingFragment.wixobj", + "$BUILD_DIR/msi/Installer_64.wixobj" + ] +# heat: slurp up the headers and generate a WiX file listing them as things to include in msi +env.Command(driverIncludeSource, "$INSTALL_DIR/include/mongo/", + '"$WIXHEAT" dir $SOURCE -gg -g1 -frag -cg cg_DriverHeaders' + ' -nologo -directoryid -out $TARGET -dr Header -srd -var var.ClientHeaderSource') + +env.AlwaysBuild(driverIncludeSource) + +# Need to do this in order to get scons to translate path separators into native format +buildDir = Dir(env["BUILD_DIR"]).path + +# candle: compile .wxs files into .wixobjs +env.Command(objects, + sources, + '"$WIXCANDLE" -wx' + # cannot have anything other than x.x.x.x in version string. + # we should choose a fourth version number that reflects pre-ness. + ' -dMongoDBVersion=' + mongoCodeVersion.partition('-')[0] + + ' -dLicenseSource=distsrc' + r' -dEnterpriseBase=src\mongo\db\modules\subscription\\' + ' -dBinarySource=' + buildDir + r'\mongo' + ' -dEdition=Enterprise' + ' -d"ProductId=*\"' + ' -dUpgradeCode=FCF901F6-E963-40B1-9A17-978242068587' + ' -dClientSource=' + buildDir + r'\client_build' + r' -dClientHeaderSource=${INSTALL_DIR}\include\mongo' + ' -dConfiguration=Release' + ' -dOutDir=' + buildDir + r'\msi' + ' -dPlatform=x64' + ' -dFlavor=2008R2Plus' + r' -dProjectDir=buildscripts\packaging\msi\\' + ' -dProjectName=MongoDB' + ' -dTargetDir=' + buildDir + r'\msi' + ' -dTargetExt=.msi' + ' -dTargetFileName=${SERVER_ARCHIVE}' + r' -dSaslSource=d:\work\sasl\bin' + r' -dSnmpSource=d:\work\snmp\bin' + r' -dSslSource=d:\work\ssl\bin' + ' -out ' + buildDir + r'\msi\\' + ' -arch x64' + ' -ext "$WIXUIEXT"' + ' $SOURCES') + +#light: link .objs into an msi +msi = "$BUILD_DIR/msi/${SERVER_DIST_BASENAME}.msi" +env.Command(msi, + objects, + '"$WIXLIGHT" -out ${TARGET} -wx -cultures:null -sice:ICE82 ' + ' -ext "$WIXUIEXT"' + ' ${SOURCES}') + +env.AlwaysBuild(msi) + +env.Alias( "msi" , msi ) + +def s3msipush( env , target , source ): + s3push( source ) + +env.Alias( "s3msi" , [ msi ] , [ s3msipush ] ) +env.AlwaysBuild( "s3msi" ) + + diff --git a/src/mongo/installer/msi/wxs/BinaryFragment.wxs b/src/mongo/installer/msi/wxs/BinaryFragment.wxs new file mode 100644 index 00000000000..2c08b9648f8 --- /dev/null +++ b/src/mongo/installer/msi/wxs/BinaryFragment.wxs @@ -0,0 +1,170 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> + <Fragment> + <DirectoryRef Id="BIN"> + <Component Id="c_bsondump" Guid="DEEA45CA-5175-453B-9D0B-6168B4C0C891"> + <File Id="f_bsondump" Name="bsondump.exe" Source="$(var.BinarySource)\bsondump.exe" + DiskId ="1" KeyPath="yes"/> + </Component> + <Component Id="c_mongo" Guid="395C3DA5-A905-409C-AD96-29BFFF5E12D6"> + <File Id="f_mongo" Name="mongo.exe" Source="$(var.BinarySource)\mongo.exe" + DiskId ="1" KeyPath="yes"/> + </Component> + <Component Id="c_mongod" Guid="7EDFB4A2-5A45-4C41-8F6D-976558B3A9D6"> + <File Id="f_mongod" Name="mongod.exe" Source="$(var.BinarySource)\mongod.exe" + DiskId ="1" KeyPath="yes"/> + </Component> + <Component Id="c_mongodPdb" Guid="8B41A2E2-911C-4399-8E9F-D3C1AD3B9EDD"> + <File Id="f_mongodPdb" Name="mongod.pdb" Source="$(var.BinarySource)\mongod.pdb" + DiskId ="1" KeyPath="yes"/> + </Component> + <Component Id="c_mongodump" Guid="FFE32884-ACAD-4EC6-AF84-6BC94F55819E"> + <File Id="f_mongodump" Name="mongodump.exe" Source="$(var.BinarySource)\mongodump.exe" + DiskId ="1" KeyPath="yes"/> + </Component> + <Component Id="c_mongoexport" Guid="FD5FFDE2-53A1-45F3-9CCA-3AC311DF647C"> + <File Id="f_mongoexport" Name="mongoexport.exe" Source="$(var.BinarySource)\mongoexport.exe" + DiskId ="1" KeyPath="yes"/> + </Component> + <Component Id="c_mongofiles" Guid="CF8696D3-92B4-4CB9-B4D0-16155D726FE6"> + <File Id="f_mongofiles" Name="mongofiles.exe" Source="$(var.BinarySource)\mongofiles.exe" + DiskId ="1" KeyPath="yes"/> + </Component> + <Component Id="c_mongoimport" Guid="A4C06F69-2BB3-4068-A7E7-25347CCF01DE"> + <File Id="f_mongoimport" Name="mongoimport.exe" Source="$(var.BinarySource)\mongoimport.exe" + DiskId ="1" KeyPath="yes"/> + </Component> + <Component Id="c_mongooplog" Guid="FAD84CBB-4666-4C22-A0DF-E1D2AEEC1601"> + <File Id="f_mongooplog" Name="mongooplog.exe" Source="$(var.BinarySource)\mongooplog.exe" + DiskId ="1" KeyPath="yes"/> + </Component> + <Component Id="c_mongoperf" Guid="B046CCD2-39DC-4CB4-8A58-A7790148C41E"> + <File Id="f_mongoperf" Name="mongoperf.exe" Source="$(var.BinarySource)\mongoperf.exe" + DiskId ="1" KeyPath="yes"/> + </Component> + <Component Id="c_mongorestore" Guid="72A16D11-242E-4368-93C9-5F6162C548FC"> + <File Id="f_mongorestore" Name="mongorestore.exe" Source="$(var.BinarySource)\mongorestore.exe" + DiskId ="1" KeyPath="yes"/> + </Component> + <Component Id="c_mongos" Guid="3CA63864-9FA0-4DAE-A664-2BE9A157FB60"> + <File Id="f_mongos" Name="mongos.exe" Source="$(var.BinarySource)\mongos.exe" + DiskId ="1" KeyPath="yes"/> + </Component> + <Component Id="c_mongosPdb" Guid="F1694AB8-4B0D-4096-AD67-948063FF2A6C"> + <File Id="f_mongosPdb" Name="mongos.pdb" Source="$(var.BinarySource)\mongos.pdb" + DiskId ="1" KeyPath="yes"/> + </Component> + <Component Id="c_mongostat" Guid="0A881C85-AB39-4247-BADD-C8191F2FFF0C"> + <File Id="f_mongostat" Name="mongostat.exe" Source="$(var.BinarySource)\mongostat.exe" + DiskId ="1" KeyPath="yes"/> + </Component> + <Component Id="c_mongotop" Guid="616C562D-0504-4F2D-A6E7-CC21A58F9F81"> + <File Id="f_mongotop" Name="mongotop.exe" Source="$(var.BinarySource)\mongotop.exe" + DiskId ="1" KeyPath="yes"/> + </Component> + <?if $(var.Edition) = Enterprise ?> + <Component Id="c_sasl" Guid="6632B1B8-9F0C-452C-9101-BE6044471CAC"> + <File Id="f_sasl" Name="libsasl.dll" Source="$(var.SaslSource)\libsasl.dll" + DiskId="1" KeyPath="yes" /> + </Component> + <Component Id="c_saslPdb" Guid="84DE7D8C-A6D6-4A23-935F-F0FFE3BBC52B"> + <File Id="f_saslPdb" Name="libsasl.pdb" Source="$(var.SaslSource)\libsasl.pdb" + DiskId="1" KeyPath="yes" /> + </Component> + <Component Id="c_ssleay" Guid="8879033A-F4F7-4879-A7F8-4D81355A47E3"> + <File Id="f_ssleay" Name="ssleay32.dll" Source="$(var.SslSource)\ssleay32.dll" + DiskId="1" KeyPath="yes" /> + </Component> + <Component Id="c_libeay" Guid="E6CC6AA5-AC71-45EC-803C-71F816E33135"> + <File Id="f_libeay" Name="libeay32.dll" Source="$(var.SslSource)\libeay32.dll" + DiskId="1" KeyPath="yes" /> + </Component> + <Component Id="c_snmp" Guid="F5E5A889-FC9F-4B9A-BEFD-C8ABC9A92D8D"> + <File Id="f_ssnmp" Name="netsnmp.dll" Source="$(var.SnmpSource)\netsnmp.dll" + DiskId="1" KeyPath="yes" /> + </Component> + <Component Id="c_snmpPdb" Guid="6AAB0ACE-C354-4D3A-B490-2AA235647AB3"> + <File Id="f_snmpPdb" Name="netsnmp.pdb" Source="$(var.SnmpSource)\netsnmp.pdb" + DiskId="1" KeyPath="yes" /> + </Component> + <Component Id="c_snmpConf" Guid="4DD0CAD3-97AB-4C11-987A-7ABCFF0D340C"> + <File Id="f_snmpConf" Name="mongod.conf" Source="$(var.EnterpriseBase)\docs\mongod.conf" + DiskId="1" KeyPath="yes" /> + </Component> + <Component Id="c_snmpMib" Guid="F3E98C6B-FE42-44E7-8A1F-E47BDDD0A3D7"> + <File Id="f_snmpMib" Name="MONGO-MIB.txt" Source="$(var.EnterpriseBase)\docs\MONGO-MIB.txt" + DiskId="1" KeyPath="yes" /> + </Component> + <?endif ?> + <Directory Id="Driver" Name="Driver"> + <Component Id="c_mongoclientlib" Guid="B0AF30BE-924F-47C7-A2B9-AE22E0BFCEC1"> + <File Id="f_mongoclientlib" Name="mongoclient.lib" Source="$(var.ClientSource)\mongoclient.lib" + DiskId="1" KeyPath="yes" /> + </Component> + <Component Id="c_mongoclientdll" Guid="0B202F31-C173-4D59-A31E-1DD87C16EDC6"> + <File Id="f_mongoclientdll" Name="mongoclient.dll" Source="$(var.ClientSource)\mongoclient.dll" + DiskId="1" KeyPath="yes" /> + </Component> + <Component Id="c_mongoclientpdb" Guid="C1AA694E-FC9B-4540-8C73-638BDC2CD7A5"> + <File Id="f_mongoclientpdb" Name="mongoclient.pdb" Source="$(var.ClientSource)\mongoclient.pdb" + DiskId="1" KeyPath="yes" /> + </Component> + <Component Id="c_mongoclientexp" Guid="E95F4011-1E88-4A53-807F-F43175864EAF"> + <File Id="f_mongoclientexp" Name="mongoclient.exp" Source="$(var.ClientSource)\mongoclient.exp" + DiskId="1" KeyPath="yes" /> + </Component> + <?if $(var.Edition) = Enterprise ?> + <Component Id="c_driversasl" Guid="E51F24ED-3464-4B01-B825-C9F1219181A0"> + <File Id="f_driversasl" Name="libsasl.dll" Source="$(var.SaslSource)\libsasl.dll" + DiskId="1" KeyPath="yes" /> + </Component> + <Component Id="c_driversaslPdb" Guid="1D6BF915-8E12-47FA-A582-64BF9D77EBC5"> + <File Id="f_driversaslPdb" Name="libsasl.pdb" Source="$(var.SaslSource)\libsasl.pdb" + DiskId="1" KeyPath="yes" /> + </Component> + <Component Id="c_driverssleay" Guid="B2C36398-A79C-4ADE-BA72-7E3DF85B2D28"> + <File Id="f_driverssleay" Name="ssleay32.dll" Source="$(var.SslSource)\ssleay32.dll" + DiskId="1" KeyPath="yes" /> + </Component> + <Component Id="c_driverlibeay" Guid="B7E3243C-25F4-4358-A420-2BFFA0BAABED"> + <File Id="f_driverlibeay" Name="libeay32.dll" Source="$(var.SslSource)\libeay32.dll" + DiskId="1" KeyPath="yes" /> + </Component> + <Component Id="c_driversnmp" Guid="57DB53E1-C7B1-4E9C-816E-A7C920DCF393"> + <File Id="f_driverssnmp" Name="netsnmp.dll" Source="$(var.SnmpSource)\netsnmp.dll" + DiskId="1" KeyPath="yes" /> + </Component> + <Component Id="c_driversnmpPdb" Guid="CACC153D-8167-4C9D-B47B-764F254A6BDF"> + <File Id="f_driversnmpPdb" Name="netsnmp.pdb" Source="$(var.SnmpSource)\netsnmp.pdb" + DiskId="1" KeyPath="yes" /> + </Component> + <?endif ?> + <Directory Id="Header" Name="Header" /> + </Directory> + </DirectoryRef> + + <?if $(var.Edition) = Enterprise ?> + <ComponentGroup Id="cg_EnterpriseBase"> + <ComponentRef Id="c_sasl" /> + <ComponentRef Id="c_saslPdb" /> + <ComponentRef Id="c_ssleay" /> + <ComponentRef Id="c_libeay" /> + </ComponentGroup> + <ComponentGroup Id="cg_EnterpriseServer"> + <ComponentGroupRef Id="cg_EnterpriseBase" /> + <ComponentRef Id="c_snmp" /> + <ComponentRef Id="c_snmpPdb" /> + <ComponentRef Id="c_snmpConf" /> + <ComponentRef Id="c_snmpMib" /> + </ComponentGroup> + <ComponentGroup Id="cg_DriverEnterprise"> + <ComponentRef Id="c_driversasl" /> + <ComponentRef Id="c_driversaslPdb" /> + <ComponentRef Id="c_driverssleay" /> + <ComponentRef Id="c_driverlibeay" /> + <ComponentRef Id="c_driversnmp" /> + <ComponentRef Id="c_driversnmpPdb" /> + </ComponentGroup> + <?endif ?> + </Fragment> +</Wix>
\ No newline at end of file diff --git a/src/mongo/installer/msi/wxs/FeatureFragment.wxs b/src/mongo/installer/msi/wxs/FeatureFragment.wxs new file mode 100644 index 00000000000..03ad76b0e8f --- /dev/null +++ b/src/mongo/installer/msi/wxs/FeatureFragment.wxs @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="utf-8"?> +<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> + <Fragment> + <FeatureGroup Id="fg_MongoDBAll"> + <Feature Id="ProductFeature" + Title="!(wix.ProductName)" + Description="!(wix.ProductName)" + Level="1" + ConfigurableDirectory="INSTALLLOCATION"> + + <MergeRef Id="m_vcredist"/> + + <ComponentGroupRef Id="cg_License" /> + <Feature Id="Server" + Title ="Server" + Description="The MongoDB server (mongod)" + Level ="1"> + <ComponentRef Id="c_mongod"/> + <ComponentRef Id="c_mongodPdb"/> + <?if $(var.Edition) = Enterprise ?> + <ComponentGroupRef Id="cg_EnterpriseServer" /> + <?endif ?> + </Feature> + <Feature Id="Client" + Title ="Client" + Description="The MongoDB client/shell (mongo)" + Level ="1"> + <ComponentRef Id="c_mongo"/> + <?if $(var.Edition) = Enterprise ?> + <ComponentGroupRef Id="cg_EnterpriseBase" /> + <?endif ?> + </Feature> + <Feature Id="MonitoringTools" + Title ="Monitoring Tools" + Description="MongoDB monitoring tools (mongostat, mongotop)" + Level ="1"> + <ComponentRef Id="c_mongostat"/> + <ComponentRef Id="c_mongotop"/> + <?if $(var.Edition) = Enterprise ?> + <ComponentGroupRef Id="cg_EnterpriseBase" /> + <?endif ?> + </Feature> + <Feature Id="ImportExportTools" + Title ="Import/Export Tools" + Description="MongoDB import/export tools (mongodump/mongorestore and mongoexport/mongoimport)" + Level ="1"> + <ComponentRef Id="c_mongodump"/> + <ComponentRef Id="c_mongorestore"/> + <ComponentRef Id="c_mongoexport"/> + <ComponentRef Id="c_mongoimport"/> + <?if $(var.Edition) = Enterprise ?> + <ComponentGroupRef Id="cg_EnterpriseBase" /> + <?endif ?> + </Feature> + <Feature Id="Router" + Title ="Router" + Description="The MongoDB Router (mongos)" + Level ="1000"> + <ComponentRef Id="c_mongos"/> + <ComponentRef Id="c_mongosPdb"/> + <?if $(var.Edition) = Enterprise ?> + <ComponentGroupRef Id="cg_EnterpriseBase" /> + <?endif ?> + </Feature> + <Feature Id="MiscellaneousTools" + Title ="Miscellaneous Tools" + Description="Miscellaneous MongoDB tools (bsondump, mongofiles, mongooplog, mongoperf)" + Level ="1000"> + <ComponentRef Id="c_bsondump"/> + <ComponentRef Id="c_mongofiles"/> + <ComponentRef Id="c_mongooplog"/> + <ComponentRef Id="c_mongoperf"/> + <?if $(var.Edition) = Enterprise ?> + <ComponentGroupRef Id="cg_EnterpriseBase" /> + <?endif ?> + </Feature> + <Feature Id="CPlusPlusDriver" + Title ="C++ Driver" + Description="MongoDB C++ Driver" + Level ="1000"> + <ComponentRef Id="c_mongoclientlib"/> + <ComponentRef Id="c_mongoclientdll"/> + <ComponentRef Id="c_mongoclientpdb"/> + <ComponentRef Id="c_mongoclientexp"/> + <?if $(var.Edition) = Enterprise ?> + <ComponentGroupRef Id="cg_DriverEnterprise" /> + <?endif ?> + <ComponentGroupRef Id="cg_DriverHeaders"/> + </Feature> + </Feature> + </FeatureGroup> + </Fragment> +</Wix> + diff --git a/src/mongo/installer/msi/wxs/Installer.wxs b/src/mongo/installer/msi/wxs/Installer.wxs new file mode 100644 index 00000000000..d550e8875e5 --- /dev/null +++ b/src/mongo/installer/msi/wxs/Installer.wxs @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> + <Product Id="$(var.ProductId)" + Name="!(wix.ProductName)" + Language="1033" + Version="$(var.MongoDBVersion)" + Manufacturer="MongoDB" + UpgradeCode="$(var.UpgradeCode)"> + + <Package InstallerVersion="200" Compressed="yes" /> + <WixVariable Id="ProductName" Value="MongoDB $(var.MongoDBVersion)" /> + <WixVariable Id="InstallFolder" Value="MongoDB $(var.MongoDBVersion) $(var.Edition)"/> + + <Directory Id="TARGETDIR" Name="SourceDir"> + <Directory Id="ProgramFilesFolder"> + <Directory Id="INSTALLLOCATION" Name="!(wix.InstallFolder)"> + <Directory Id="BIN" Name="bin" /> + </Directory> + </Directory> + </Directory> + + <Media Id="1" Cabinet="media1.cab" EmbedCab="yes" /> + <WixVariable Id="WixUIDialogBmp" Value="Dialog.bmp" /> + <WixVariable Id="WixUIBannerBmp" Value="Banner.bmp" /> + <WixVariable Id="WixUIInfoIco" Value="Installer_Icon_32x32.ico" /> + <WixVariable Id="WixUIExclamationIco" Value="Installer_Icon_32x32.ico" /> + <!-- + <WixVariable Id="WixUINewIco" Value="Installer_Icon_16x16.ico" /> + <WixVariable Id="WixUIUpIco" Value="Installer_Icon_16x16.ico" /> + More information can be found at http://wix.tramontana.co.hu/tutorial/user-interface/ui-wizardry + --> + + <FeatureGroupRef Id="fg_MongoDBAll" /> + + <UIRef Id="WixUI_Mondo" /> + <UIRef Id="WixUI_ErrorProgressText" /> + <Property Id="WIXUI_INSTALLDIR" Value="INSTALLLOCATION" /> + </Product> +</Wix> diff --git a/src/mongo/installer/msi/wxs/Installer_64.wxs b/src/mongo/installer/msi/wxs/Installer_64.wxs new file mode 100644 index 00000000000..ddee9c65eef --- /dev/null +++ b/src/mongo/installer/msi/wxs/Installer_64.wxs @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> + <Product Id="$(var.ProductId)" + Name="!(wix.ProductName)" + Language="1033" + Version="$(var.MongoDBVersion)" + Manufacturer="MongoDB" + UpgradeCode="$(var.UpgradeCode)"> + + <Package InstallerVersion="405" Compressed="yes" Platform="x64"/> + <WixVariable Id="InstallFolder" Value="MongoDB $(var.MongoDBVersion) $(var.Edition)"/> + + <?if $(var.Edition) = Enterprise ?> + <?if $(var.Flavor) = 2008R2Plus?> + <WixVariable Id="ProductName" Value="MongoDB $(var.MongoDBVersion) $(var.Flavor) Enterprise (64 bit)" /> + <?else?> + <WixVariable Id="ProductName" Value="MongoDB $(var.MongoDBVersion) Enterprise (64 bit)" /> + <?endif?> + <?else?> + <?if $(var.Flavor) = 2008R2Plus?> + <WixVariable Id="ProductName" Value="MongoDB $(var.MongoDBVersion) $(var.Flavor) (64 bit)" /> + <?else?> + <WixVariable Id="ProductName" Value="MongoDB $(var.MongoDBVersion) (64 bit)" /> + <?endif?> + <?endif?> + + <Directory Id="TARGETDIR" Name="SourceDir"> + <Directory Id="ProgramFiles64Folder"> + <Directory Id="INSTALLLOCATION" Name="!(wix.InstallFolder)"> + <Directory Id="BIN" Name="bin" /> + </Directory> + </Directory> + </Directory> + + <!-- + Only use VC redistributable on builds with /MD - for now, just Enterprise + --> + <?if $(var.Edition) = Enterprise ?> + <DirectoryRef Id="TARGETDIR"> + <Merge Id="m_vcredist" SourceFile="$(env.CommonProgramFiles(x86))\Merge Modules\Microsoft_VC100_CRT_x64.msm" DiskId="1" Language="0"/> + </DirectoryRef> + <?endif?> + + <Media Id="1" Cabinet="media1.cab" EmbedCab="yes" /> + <WixVariable Id="WixUIDialogBmp" Value="$(var.ProjectDir)Dialog.bmp" /> + <WixVariable Id="WixUIBannerBmp" Value="$(var.ProjectDir)Banner.bmp" /> + <WixVariable Id="WixUIInfoIco" Value="$(var.ProjectDir)Installer_Icon_32x32.ico" /> + <WixVariable Id="WixUIExclamationIco" Value="$(var.ProjectDir)Installer_Icon_32x32.ico" /> + <!-- + <WixVariable Id="WixUINewIco" Value="Installer_Icon_16x16.ico" /> + <WixVariable Id="WixUIUpIco" Value="Installer_Icon_16x16.ico" /> + More information can be found at http://wix.tramontana.co.hu/tutorial/user-interface/ui-wizardry + --> + + <FeatureGroupRef Id="fg_MongoDBAll" /> + + <UIRef Id="WixUI_Mondo" /> + <UIRef Id="WixUI_ErrorProgressText" /> + <Property Id="WIXUI_INSTALLDIR" Value="INSTALLLOCATION" /> + </Product> +</Wix> diff --git a/src/mongo/installer/msi/wxs/LicensingFragment.wxs b/src/mongo/installer/msi/wxs/LicensingFragment.wxs new file mode 100644 index 00000000000..c876377bdeb --- /dev/null +++ b/src/mongo/installer/msi/wxs/LicensingFragment.wxs @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> + <Fragment> + + <DirectoryRef Id="INSTALLLOCATION"> + <?if $(var.Edition) = Enterprise ?> + <Component Id="c_EnterpriseLicense" Guid="C0EF85E2-95F8-468B-BA95-2F739C63D2D7"> + <File Id="f_EnterpriseLicense" Name="LICENSE.txt" Source="$(var.EnterpriseBase)\distsrc\LICENSE.txt" + DiskId ="1" KeyPath="yes" /> + </Component> + <?else?> + <Component Id="c_License" Guid="54C0700D-A294-4F40-A396-04CC606A7299"> + <File Id="f_GnuLicense" Name="GNU-AGPL-3.0" Source="$(var.LicenseSource)\GNU-AGPL-3.0" + DiskId ="1" KeyPath="yes" /> + </Component> + <?endif?> + <Component Id="c_Readme" Guid="12C17EA1-075C-4A1D-9554-F3B5A2A94874"> + <File Id="f_Readme" Name="README" Source="$(var.LicenseSource)\README" + DiskId ="1" /> + </Component> + <Component Id="c_Thirdparty" Guid="D6098364-6DE8-48EA-A955-7D1060752132"> + <File Id="f_Thirdparty" Name="THIRD-PARTY-NOTICES" Source="$(var.LicenseSource)\THIRD-PARTY-NOTICES" + DiskId ="1" /> + </Component> + </DirectoryRef> + + <ComponentGroup Id="cg_License"> + <ComponentRef Id="c_Readme"/> + <ComponentRef Id="c_Thirdparty"/> + <?if $(var.Edition) = Enterprise ?> + <ComponentRef Id="c_EnterpriseLicense"/> + <?else?> + <ComponentRef Id="c_License"/> + <?endif?> + </ComponentGroup> + + <?if $(var.Edition) = Enterprise ?> + <WixVariable Id="WixUILicenseRtf" Value="$(var.EnterpriseBase)\distsrc\LICENSE.rtf" /> + <?else ?> + <WixVariable Id="WixUILicenseRtf" Value=".\GNU-AGPL-3.0.rtf" /> + <?endif ?> + + </Fragment> +</Wix>
\ No newline at end of file |