[SERVER-4099] Please Provide Windows Mongodb server in MSI package format Created: 19/Oct/11  Updated: 11/Jul/16  Resolved: 11/Mar/13

Status: Closed
Project: Core Server
Component/s: Packaging
Affects Version/s: 2.0.0
Fix Version/s: 2.5.0

Type: Improvement Priority: Major - P3
Reporter: T.J. Yang Assignee: Sridhar Nanjundeswaran
Resolution: Done Votes: 5
Labels: Windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows XP,Windows 7, Windows 2003/8 servers


Issue Links:
Depends
Related
related to SERVER-4100 Please provide Windows mongodb client... Closed
related to SERVER-2903 Need to create separate service insta... Closed
is related to DOCS-1981 Document : installation of MongoDB us... Closed
is related to SERVER-10730 Allow custom install directory locati... Closed
Participants:

 Description   

The current way of "deploying windows mongodb server in zip file format plus many manual steps to configure it running as a Service" is usually not acceptable in a corporate IT environment. Please use WiX packaging tool to package mongodb server(only the server part) into MSI package.



 Comments   
Comment by auto [ 11/Mar/13 ]

Author:

{u'date': u'2013-03-11T04:28:33Z', u'name': u'Sridhar Nanjundeswaran', u'email': u'sridhar@10gen.com'}

Message: SERVER-4099, SERVER-4100. MSI for mongodb binaries that allows selective installation of various binaries. Separate 32 and 64 bit msi's.
Branch: master
https://github.com/mongodb/mongo/commit/0982b4085efb7cdd6115ae9c66c13a358390a4aa

Comment by Sougata Pal [ 08/Jan/12 ]

It will be easier for general windows users to install mongodb if there is any MSI installer package where there will be auto start option.

Comment by Jeffrey Jones [ 02/Dec/11 ]

Gets my vote. Having an MSI package is also great for people who want automation.

You can install MSIs via powershell scripts very easily. But even more useful is the fact that Puppet 2.7.6 supports installing MSIs on windows.

Comment by Tad Marshall [ 26/Oct/11 ]

T.J. is right that Windows users tend to expect proper MSI install packages, and also that WiX is a great way to do it. I also like his idea of creating separate client and server packages, though I wonder if the server package should include the client part as an optional (but on-by-default) feature so that someone installing the server side could test it immediately. MSI brings a world of good things for Windows and is basically "doing it right". Making it build with BuildBot should not be a problem.

Comment by T.J. Yang [ 19/Oct/11 ]

0. Unzip mongodb 2.0.0 zip file's *exe into .. (from wixproj dir)
0.5 , "git clone git://github.com/tjyang/mongo.git" from top C:\
0.6 cd c:\mongo\wixproj
1. Creating the MSIs.
C:\mongo\wixproj>nmake clean

Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.

erase /q /s MongoDB-Client.res MongoDB-Client.wixobj MongoDB-Client.
msi MongoDB-Client.lib
Deleted file - C:\mongo\wixproj\mongodb-client.wixobj
Deleted file - C:\mongo\wixproj\mongodb-client.msi
erase /q /s UpgradeConfiguration.obj MongoDB-server.res MongoDB-serve
r.wixobj MongoDB-server.msi MongoDB-server.lib *~ *.wixpdb
Deleted file - C:\mongo\wixproj\mongodb-server.wixobj
Deleted file - C:\mongo\wixproj\mongodb-server.msi
Deleted file - C:\mongo\wixproj\Makefile~
Deleted file - C:\mongo\wixproj\mongodb-client.wixpdb
Deleted file - C:\mongo\wixproj\mongodb-server.wixpdb

C:\mongo\wixproj>nmake

Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.

"candle.exe" /nologo -ext WixUtilExtension MongoDB-server.wxs
mongodb-server.wxs
"candle.exe" /nologo -ext WixUtilExtension MongoDB-Client.wxs
mongodb-client.wxs
"light.exe" /nologo -ext WixUIExtension -ext WixUtilExtension MongoDB-s
erver.wixobj
"light.exe" /nologo -ext WixUIExtension -ext WixUtilExtension MongoDB-C
lient.wixobj

C:\mongo\wixproj>

2. Testing the server and client package installation.
C:\mongo\wixproj>nmake install-server

Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.

msiexec /i MongoDB-server.msi /qb ADDDEFAULT=ALL

C:\mongo\wixproj>net start mongodb
The MongoDB Server service is starting.
The MongoDB Server service was started successfully.

C:\mongo\wixproj>nmake install-client

Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.

msiexec /i MongoDB-Client.msi /qb ADDDEFAULT=ALL

C:\mongo\wixproj>mongo
'mongo' is not recognized as an internal or external command,
operable program or batch file.

C:\mongo\wixproj>..\..\MongoDBClient\bin\mongo
MongoDB shell version: 2.0.0
connecting to: test
> db.runCommand(

{"serverStatus" : 1}

)
{
"host" : "win2k3-64",
"version" : "2.0.0",
"process" : "mongod",
"uptime" : 651,
"uptimeEstimate" : 541,
"localTime" : ISODate("2011-10-19T12:12:23.501Z"),
"globalLock" : {
"totalTime" : 651532353,
"lockTime" : 0,
"ratio" : 0,
"currentQueue" :

{ "total" : 0, "readers" : 0, "writers" : 0 }

,
"activeClients" :

{ "total" : 0, "readers" : 0, "writers" : 0 }

},
"mem" :

{ "bits" : 64, "resident" : 19, "virtual" : 51, "supported" : true, "mapped" : 0, "mappedWithJournal" : 0 }

,
"connections" :

{ "current" : 1, "available" : 19999 }

,
"extra_info" :

{ "note" : "fields vary by platform" }

,
"indexCounters" :

{ "note" : "not supported on this platform" }

,
"backgroundFlushing" :

{ "flushes" : 10, "total_ms" : 0, "average_ms" : 0, "last_ms" : 0, "last_finished" : ISODate("2011-10-19T12:11:32.164Z") }

,
"cursors" :

{ "totalOpen" : 0, "clientCursors_size" : 0, "timedOut" : 0 }

,
"network" :

{ "bytesIn" : 360, "bytesOut" : 430, "numRequests" : 5 }

,
"opcounters" :

{ "insert" : 0, "query" : 1, "update" : 0, "delete" : 0, "getmore" : 0, "command" : 6 }

,
"asserts" :

{ "regular" : 0, "warning" : 0, "msg" : 0, "user" : 0, "rollovers" : 0 }

,
"writeBacksQueued" : false,
"dur" : {
"commits" : 30,
"journaledMB" : 0,
"writeToDataFilesMB" : 0,
"compression" : 0,
"commitsInWriteLock" : 0,
"earlyCommits" : 0,
"timeMs" :

{ "dt" : 3078, "prepLogBuffer" : 0, "writeToJournal" : 0, "writeToDataFiles" : 0, "remapPrivateView" : 0 }

},
"ok" : 1
}
>

3. More test cases need to be performed.

Comment by T.J. Yang [ 19/Oct/11 ]

Hi, Sridhar

64 bit binary creation is possible using VS2010Express. I haven't personally try it yet.

See R1, this is good news that we don't have to tight mongodb binary and msi creation into professional version of VS2010. Using VS2010P as part of mongodb windows build tool will be a road block to attract volunteers.

R1: http://stackoverflow.com/questions/1865069/compile-64-bit-app-with-vc-express-2010

Comment by T.J. Yang [ 19/Oct/11 ]

Please assign this ticket to Sridhar Nanjundeswaran, he agreed to look at my work and see if he can reuse them.
For server, please see mongodb-server.wxs at https://github.com/tjyang/mongo/tree/master/wixproj.

The goal is to have msi creation process to be integrated into buildbot, if can we avoid GUI operations by scripting.

Generated at Thu Feb 08 03:04:57 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.