在Win7下将Sphinx安装成windows服务时碰到如下错误:
Install the searchd
system as a Windows service:
C:\Sphinx\bin> C:\Sphinx\bin\searchd --install --config C:\Sphinx\sphinx.conf.in --servicename SphinxSearch
Installing service...
FATAL: OpenSCManager() failed: code=5, error=Access is denied.
究其原因是因为Win7(也包括Vista)中将administrator权限和普通用户权限做了区分,要安装windows服务需要在administrator权限下进行。所以只需要以administrator权限运行cmd.exe就可以。具体方法为:选择: 所有程序---->附件--->右键单击命令提示符,选择以管理员身份运行来源地址:http://www.cnblogs.com/Jerryshome/archive/2011/06/17/2083568.html
补充: 如果中途服务已经安装想要重新安装可以执行sc删除服务:
C:\>sc/?
描述:
SC 是用于与服务控制管理器通信的命令行程序。
用法:
sc <server> [command] [service name] <option1> <option2>...
选项 <server> 的格式为 "\\ServerName"
可以键入 "sc [command]"以获得命令的进一步帮助
命令:
query-----------查询服务的状态,
或枚举服务类型的状态。
queryex---------查询服务的扩展状态,
或枚举服务类型的状态。
start-----------启动服务。
pause-----------发送 PAUSE 控制请求到服务。
interrogate-----发送 INTERROGATE 控制请求到服务。
continue--------发送 CONTINUE 控制请求到服务。
stop------------发送 STOP 请求到服务。
config----------(永久地)更改服务的配置。
description-----更改服务的描述。
failure---------更改服务失败时所进行的操作。
qc--------------查询服务的配置信息。
qdescription----查询服务的描述。
qfailure--------查询失败服务所进行的操作。
delete----------(从注册表)删除服务。
create----------创建服务(将其添加到注册表)。
control---------发送控制到服务。
sdshow----------显示服务的安全描述符。
sdset-----------设置服务的安全描述符。
GetDisplayName--获取服务的 DisplayName。
GetKeyName------获取服务的 ServiceKeyName。
EnumDepend------枚举服务的依存关系。
下列命令不查询服务名称:
sc <server> <command> <option>
boot------------(ok | bad) 表明是否将上一次启动保存为
最后所知的好的启动配置
Lock------------锁定服务数据库
QueryLock-------查询 SCManager 数据库的 LockStatus
示例:
sc start MyService
源地址:http://www.xtit.net/post/1306/