我正在尝试在Windows 10上将Quartz.NET作为Windows服务安装。 Quartz.NET的版本是v2.6.2,我已经使用this tutorial来做到这一点。在其他操作系统(例如Windows 7和Windows Server 2012)中,我已经成功安装了此版本。
当我运行命令以安装为服务时:
C:\Program Files (x86)\Quartz.NET>Quartz.Server.exe install
我收到以下成功消息:
配置结果: [成功]名称QuartzServer [成功] DisplayName Quartz服务器 [成功]描述Quartz Job Scheduling Server [成功] ServiceName QuartzServer Topshelf v3.1.135.0,.NET Framework v4.0.30319.42000
运行事务处理的安装。
开始安装的安装阶段。 安装Quartz Server服务 正在安装服务QuartzServer ... 服务QuartzServer已成功安装。 在日志应用程序中创建EventLog源QuartzServer ...
“安装”阶段成功完成,“提交”阶段开始。
提交阶段成功完成。
交易安装已完成。
但是当我运行以下命令(Quartz.Server.exe -i)来查看我的安装是否已成功安装时,我收到以下消息:
C:\ Program Files(x86)\ Quartz.NET> Quartz.Server.exe -i
Topshelf.HostFactory错误:0:创建主机时发生异常,Topshelf.HostConfigurationException:服务未正确配置: [失败]命令行找到了未知的命令行选项:SWITCH:i(正确) [成功]名称QuartzServer [成功] DisplayName Quartz服务器 [成功]描述Quartz Job Scheduling Server [成功] ServiceName QuartzServer 位于Topshelf.Configurators.ValidateConfigurationResult.CompileResults(IEnumerable
1 results) at Topshelf.HostFactory.New(Action
1 configureCallback) Topshelf.HostFactory错误:0:服务异常终止,Topshelf.HostConfigurationException:服务配置不正确: [失败]命令行找到了未知的命令行选项:SWITCH:i(正确) [成功]名称QuartzServer [成功] DisplayName Quartz服务器 [成功]描述Quartz Job Scheduling Server [成功] ServiceName QuartzServer 位于Topshelf.Configurators.ValidateConfigurationResult.CompileResults(IEnumerable1 results) at Topshelf.HostFactory.New(Action
1 configureCallback) 在Topshelf.HostFactory.Run(Action`1 configureCallback)
所有命令均已在“管理”模式下运行。 我在Windows 10上缺少任何配置吗?
编辑
我无权访问Quartz Server Windows服务中的开始和停止按钮,它们被禁用。
如果我在命令提示符下运行Quartz.Server.exe,它将完美地执行调度程序。但是,当我运行Quartz.Server.exe -i时,它给了我我在第一篇文章中提到的错误。而且我仍然无权访问开始和停止按钮
编辑2
我已经安装了Quartz的最新版本,与以前的版本相比,问题是相同的,除了找到了未知的命令行选项(请参阅错误消息)。
Quartz v2.6.2
Topshelf v3.1.4.357038
Topshelf.HostFactory错误:0:创建主机时发生异常,Topshelf.HostConfigurationException:服务未正确配置: [失败]命令行找到了未知的命令行选项:SWITCH:i(正确)
Quartz V3.0.7
Topshelf v4.1.0.172
Topshelf.HostFactory错误:0:创建主机时发生异常,Topshelf.HostConfigurationException:服务未正确配置: [失败]命令行找到了未知的命令行选项:DEFINE:i =
也许这可能是一些影响Topshelf的配置。
编辑3
我已经确认,运行命令Quartz.Server.exe -i时,Windows Server 2012 R2 Standard生产服务器中也引发了此错误。区别在于在生产环境中我们启用了启动/停止按钮,但是在Windows 10计算机中我没有启用启动/停止按钮。