How to setup "svnserve --service" to run on Windows?
Asked Answered
K

3

5

When starting from cmdline

svnserve.exe -d -r d:\svn\mytools

all working fine.

Then I had tried to set it up to run as Windows service:

@echo off
set SvnHome=C:\Program Files\TortoiseSVN
set SvnRepository=D:\Svn\mytools
sc delete SvnMyTools
sc create SvnMyTools binPath= "%SvnHome%\bin\svnserve.exe --service -r %SvnRepository%" start=   delayed-auto type= share

service was installed but it is unable to start. All the time it is reporting an error

Error 1083: The executable program that this service is configured to run in does not implement the service.

I have tried to edit service cmdline using regedit, so tried to add double quotes arround ref to exe, tried to change cmdline parameters (used -d instead of --service, used both -d and --service) and so on. Sometimes reported errors are looks a bit different but it does not work anyway. :-(

Question is - how to setup it to make it working as service on Windows 7 x64? Is it possible at all? I mean - if that "--service" cmdline switch is able to work in svnserve?

Note: svnserve version is 1.7.9 (r1462340). Rest of TortoiseSVN components are 1.7.12.24070.

Thanks in advance.

Kwarteng answered 29/4, 2013 at 14:26 Comment(0)
R
4

Looks fine to me. My server is installed with this binary path:

"C:\Program Files\Subversion\svnserve.exe" --service -r "D:\Repositories" --listen-port "3690"

Did you try to install it outside of a script?

Repand answered 29/4, 2013 at 15:1 Comment(1)
Aha... I just remoted "type= share" from cmdline for "sc create" command and seems it begins to work fine. Thanks. :-)Kwarteng
P
6

It took me a while to figure out that the selected answer was not final, but a supplement to the question. This is the final one line command to execute:

sc create svnserve binpath="\"C:\Program Files\TortoiseSVN\bin\svnserve.exe\" --service -r D:\Repositories" displayname="Subversion Server" depend=Tcpip start=auto
Pickmeup answered 30/8, 2018 at 9:35 Comment(0)
R
4

Looks fine to me. My server is installed with this binary path:

"C:\Program Files\Subversion\svnserve.exe" --service -r "D:\Repositories" --listen-port "3690"

Did you try to install it outside of a script?

Repand answered 29/4, 2013 at 15:1 Comment(1)
Aha... I just remoted "type= share" from cmdline for "sc create" command and seems it begins to work fine. Thanks. :-)Kwarteng
M
1

I realize this is an old question, but in case you need to do this on a more current Windows OS version...

On Windows Server 2012 with CollabNet subversion Edge SVN v5.2.4, this syntax worked in an elevated cmd window (NOTE the space after the = character and where the quote " characters are located):

sc create svnserve binpath="E:\csvn\bin\svnserve.exe --service -r E:\csvn\data\repositories --listen-port 3690 --log-file E:\csvn\data\logs\svnserve.log" displayname="SVN Serve"  depend= Tcpip start= auto

After creating the svnserve Windows service, to add a description :

sc description svnserve "SVN Server providing the svn:// or svn+ssh:// protocol scheme"

Screenshot of Services.msc showing the newly created svnserve service:

Screenshot of **Services.msc** showing the newly created svnserve service

Reference: http://svnbook.red-bean.com/en/1.7/svn.serverconfig.svnserve.html

Matazzoni answered 9/4, 2020 at 21:5 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.