On 20 March 2012 07:53, Zekeriya KOÇ <[email protected]> wrote: > Hi, > > At work we are planning to use couchdb and it's superior replication > features with our point of sales software. there will be 200 clients > replicating data from/to a central couchdb. We will use couchdb on a linux > box at data center but i have no choice on clients but ms windows.
Great! While the performance is not as good as on linux, functionally it should be the same. > we are testing with this[1] installer and there is no problem. But we need > to make the installation process automatic so we can install couchdbs on > 200 remote windows machines. we may want to customize some steps of > installation (like changing some values at local.ini), we may need to do > installation via batch script with something like "silent" option etc. It's an inno installer so all their parameters work OOB [4],[5]. You could easily deploy this with GPOs. > so what about the source code of the installer that mentioned[1]? can we > reach it? modify it? or are there a binary package for windows that can be > used with just extracting the zip archive? Both, source is available [2] and the relevant makefile [3]. There are some short tips on embedding [6] but in a nutshell, run the installer somewhere use [7] to clean it up, add in an erl.ini (that matches your erts version): more ./erts-5.9/bin/erl.ini [erlang] Bindir=..\\erts-5.9\\bin Progname=erl Rootdir=.. If you need/want a service then I'd probably go for a simple windows service with auto-restart set. Erlang comes with a nifty erlsrv.exe to handle this, but unless you need multiple erlang apps on the same host it's overkill. Make sure your start folder is %COUCH%/bin. Other than handling the service, you can then simply zip this up. is in erl.ini. You need 2 copies, one in erts-5.9/bin/erl.ini and one in bin/erl.ini. All other stuff is relative. slim_couch.cmd [7] IIRC is still OK on 1.1.1 but needs some changes for 1.2.0, and then I should be able to hook this in as a proper build target into the source [8] The 1.2.0 binary release will remove *most* of the dependency on a specific vcredist_x86.exe version so assuming you are current with MS patching and already have a VC++10 runtime deployed, you could drop another 4MB from the package. I am hacking on this at the moment so let me know if you have any problems. A+ Dave [2]: https://github.com/apache/couchdb/blob/1.2.x/etc/windows/couchdb.iss.tpl [3]: https://github.com/apache/couchdb/blob/1.2.x/etc/Makefile.am [4]: http://unattended.sourceforge.net/InnoSetup_Switches_ExitCodes.html [5]: http://www.jrsoftware.org/ishelp/ [6]: https://www.dropbox.com/sh/jeifcxpbtpo78ak/su5OLiAyiI/misc/slim_couch.cmd [7]: http://wiki.apache.org/couchdb/Quirks_on_Windows [8]: https://issues.apache.org/jira/browse/COUCHDB-1181
