5

从 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 添加到 exe,尝试更改 cmdline 参数(使用-d而不是--service,同时使用-d--service)等等。有时报告的错误看起来有点不同,但它无论如何都不起作用。:-(

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

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

提前致谢。

4

3 回答 3

4

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

sc create svnserve binpath="\"C:\Program Files\TortoiseSVN\bin\svnserve.exe\" --service -r D:\Repositories" displayname="Subversion Server" depend=Tcpip start=auto
于 2018-08-30T09:35:00.670 回答
3

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

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

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

于 2013-04-29T15:01:24.560 回答
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"

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

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

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

于 2020-04-09T21:05:13.843 回答