couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dave Cottlehuber <d...@muse.net.nz>
Subject Re: automatic installation on windows
Date Tue, 20 Mar 2012 08:58:24 GMT
On 20 March 2012 07:53, Zekeriya KOÇ <zekzekus@gmail.com> 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

Mime
View raw message