如何设置“svnserve --service”在Windows上运行?

时间:2013-04-29 14:26:40

标签: windows service svnserve

从cmdline开始

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

一切正常。

然后我尝试将其设置为以Windows服务运行:

@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

已安装服务,但无法启动。 它一直报告错误

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

我曾尝试使用regedit编辑服务cmdline,因此尝试添加双引号arround ref to exe,尝试更改cmdline参数(使用 -d 而不是 - service ,同时使用 -d - service )。有时报告的错误看起来有点不同,但无论如何都不起作用。 : - (

问题是 - 如何设置它以使其在Windows 7 x64上作为服务运行? 有可能吗?我的意思是 - 如果“ - service”cmdline开关能够在svnserve中工作吗?

注意:svnserve版本是1.7.9(r1462340)。 其余的TortoiseSVN组件是1.7.12.24070。

提前致谢。

3 个答案:

答案 0 :(得分:3)

对我来说很好看。我的服务器安装了这个二进制路径:

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

您是否尝试在脚本之外安装它?

答案 1 :(得分:2)

我花了一段时间才知道所选答案不是最终的,而是问题的补充。这是要执行的最后一行命令:

sc create svnserve binpath="\"C:\Program Files\TortoiseSVN\bin\svnserve.exe\" --service -r D:\Repositories" displayname="Subversion Server" depend=Tcpip start=auto

答案 2 :(得分:1)

我意识到这是一个古老的问题,但是如果您需要在最新的Windows操作系统版本上执行此操作...

在带有CollabNet Subversion Edge SVN v5.2.4的Windows Server 2012上,此语法在提升的cmd窗口中起作用(请在 = 字符后的空格处以及引号找到个字符):

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

创建 svnserve Windows服务后,添加说明:

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

显示新创建的svnserve服务的Services.msc屏幕截图:

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

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