summaryrefslogtreecommitdiff
path: root/etc/windows
diff options
context:
space:
mode:
Diffstat (limited to 'etc/windows')
-rw-r--r--etc/windows/README.txt.tpl29
-rw-r--r--etc/windows/couchdb.iss.tpl84
2 files changed, 113 insertions, 0 deletions
diff --git a/etc/windows/README.txt.tpl b/etc/windows/README.txt.tpl
new file mode 100644
index 00000000..791bcc85
--- /dev/null
+++ b/etc/windows/README.txt.tpl
@@ -0,0 +1,29 @@
+This is the README for the %package_name% binary distribution for
+Windows, version %version%.
+
+* Although CouchDB defaults to installing into your "Program Files" directory,
+ the permissions on the 'var' and 'etc' sub-directories have been adjusted
+ to allow modification by any authorized user so the couchdb databases, logs
+ and .ini files can be written. You may like to further restrict these
+ permissions to only the user who will be running couchdb.
+
+* The installer offers to install CouchDB as a Windows Service. If you select
+ this option, the service will run as the "LocalSystem" user and be
+ configured to start automatically. You can configure the service properties
+ via the Windows 'Services' applet.
+
+* To start CouchDB in a "console" environment, execute couchdb.bat in the
+ 'bin' directory. A shortcut to this batch file should have been installed.
+ Don't try and start couchdb this way if the service is running - it will
+ fail.
+
+* The Futon application which comes with CouchDB does not work with
+ Internet Explorer - Mozilla Firefox is generally recommended.
+
+* The test suite is known to fail on Windows due to what appear to be
+ permissions errors; this is due to couch being unable to delete a
+ file while it is in use on Windows.
+ See also https://issues.apache.org/jira/browse/COUCHDB-326
+
+* Additional help with the Windows support is needed - please contact the
+ couchdb-dev list if you can help.
diff --git a/etc/windows/couchdb.iss.tpl b/etc/windows/couchdb.iss.tpl
new file mode 100644
index 00000000..6efee0aa
--- /dev/null
+++ b/etc/windows/couchdb.iss.tpl
@@ -0,0 +1,84 @@
+; Licensed under the Apache License, Version 2.0 (the "License"); you may not
+; use this file except in compliance with the License. You may obtain a copy of
+; the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+; WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+; License for the specific language governing permissions and limitations under
+; the License.
+
+; CouchDB inno installer script
+; %configure_input%
+
+[Setup]
+AppID=ApacheCouchDB
+AppName=%package_name%
+AppVerName=%package_name% %version%
+AppPublisher=Apache Software Foundation
+AppPublisherURL=http://couchdb.apache.org/
+LicenseFile=../../LICENSE
+DefaultDirName={pf}\Apache Software Foundation\CouchDB
+DefaultGroupName=%package_name%
+OutputBaseFilename=setup-couchdb-%version%
+OutputDir=.
+
+[Files]
+Source: "%locallibbindir%\..\*.*"; DestDir: "{app}"; Flags: ignoreversion uninsrestartdelete restartreplace
+; bin dir
+Source: "%locallibbindir%\*.*"; DestDir: "{app}\bin"; Flags: ignoreversion uninsrestartdelete restartreplace recursesubdirs
+; other dirs copied '*.*'
+Source: "%locallibbindir%\..\erts-%erts_version%\*.*"; DestDir: "{app}\erts-%erts_version%"; Flags: ignoreversion uninsrestartdelete restartreplace recursesubdirs
+Source: "%locallibbindir%\..\lib\*.*"; DestDir: "{app}\lib"; Flags: ignoreversion uninsrestartdelete restartreplace recursesubdirs
+Source: "%locallibbindir%\..\share\*.*"; DestDir: "{app}\share"; Flags: ignoreversion uninsrestartdelete restartreplace recursesubdirs
+Source: "%locallibbindir%\..\releases\*.*"; DestDir: "{app}\releases"; Flags: ignoreversion uninsrestartdelete restartreplace recursesubdirs
+; skip ./usr, ./var
+
+; custom stuff...
+; ./etc/default.ini is unconditional
+Source: "%locallibbindir%\..\etc\couchdb\default.ini"; DestDir: "{app}\etc\couchdb"; Flags: ignoreversion uninsrestartdelete restartreplace
+; ./etc/local.ini is preserved and should not be updated if it exists
+Source: "%locallibbindir%\..\etc\couchdb\local.ini"; DestDir: "{app}\etc\couchdb"; Flags: onlyifdoesntexist uninsneveruninstall
+; readme
+Source: "README.txt"; DestDir: "{app}"; Flags: isreadme
+
+; msvc redists - see comments in configure.ac for notes about these...
+; ( deleteafterinstall - not needed - {tmp} auto cleaned????
+Source: "%msvc_redist_dir%\%msvc_redist_name%"; DestDir: "{tmp}"; Flags: deleteafterinstall
+
+; These are erlang requirements and not copied by our makefiles.
+Source: "%openssl_bin_dir%\ssleay32.dll"; DestDir: "{app}\bin"; Flags: ignoreversion uninsrestartdelete restartreplace
+Source: "%openssl_bin_dir%\libeay32.dll"; DestDir: "{app}\bin"; Flags: ignoreversion uninsrestartdelete restartreplace
+
+[Dirs]
+Name: "{app}\var\lib\couchdb"; Permissions: authusers-modify
+Name: "{app}\var\log\couchdb"; Permissions: authusers-modify
+Name: "{app}\etc\couchdb"; Permissions: authusers-modify
+
+[Icons]
+Name: "{group}\Start CouchDB"; Filename: "{app}\bin\couchdb.bat"
+Name: "{group}\Futon (CouchDB web interface)"; Filename: "http://127.0.0.1:5984/_utils"
+Name: "{group}\CouchDB Web Site"; Filename: "http://couchdb.apache.org/"
+
+[Tasks]
+Name: service; Description: "Install couchdb as a Windows service"
+Name: service\start; Description: "Start the service after installation"
+
+[Run]
+Filename: "{tmp}\%msvc_redist_name%"; Parameters: "/q"
+; This is erlang's Install.exe which updates erl.ini correctly.
+Filename: "{app}\Install.exe"; Parameters: "-s"; Flags: runhidden
+
+; Commands for a service
+; First attempt to nuke an existing service of this name, incase they are
+; reinstalling without uninstalling
+Filename: "{app}\erts-%erts_version%\bin\erlsrv.exe"; Parameters: "remove ""%package_name%"""; Tasks: service
+; add a new one
+Filename: "{app}\erts-%erts_version%\bin\erlsrv.exe"; Parameters: "add ""%package_name%"" -w ""{app}\bin"" -ar ""-sasl errlog_type error -s couch"" -c ""%package_name% %version%"""; Tasks: service
+; and start it if requested
+Filename: "{app}\erts-%erts_version%\bin\erlsrv.exe"; Parameters: "start ""%package_name%"""; Tasks: service\start
+
+[UninstallRun]
+Filename: "{app}\erts-%erts_version%\bin\erlsrv.exe"; Parameters: "remove ""%package_name%"""; Tasks: service