summaryrefslogtreecommitdiff
path: root/src/mongo/installer
diff options
context:
space:
mode:
authorEric Milkie <milkie@10gen.com>2013-10-07 09:14:18 -0400
committerEric Milkie <milkie@10gen.com>2013-10-09 13:59:08 -0400
commit7ada7a8e110f5dc2c22a49aa7cea175bb9704a81 (patch)
tree2cd14f9ad777ce4a79a5a65314706d6fa57a4fde /src/mongo/installer
parentd66535982976960ada4d2a05db213e40d08740ab (diff)
downloadmongo-7ada7a8e110f5dc2c22a49aa7cea175bb9704a81.tar.gz
SERVER-10830 msi builder as an scons target
Diffstat (limited to 'src/mongo/installer')
-rw-r--r--src/mongo/installer/msi/SConscript91
-rw-r--r--src/mongo/installer/msi/wxs/BinaryFragment.wxs170
-rw-r--r--src/mongo/installer/msi/wxs/FeatureFragment.wxs94
-rw-r--r--src/mongo/installer/msi/wxs/Installer.wxs39
-rw-r--r--src/mongo/installer/msi/wxs/Installer_64.wxs61
-rw-r--r--src/mongo/installer/msi/wxs/LicensingFragment.wxs44
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