我已经提供了一些服务,我必须创建一个安装程序来安装这些窗口服务并在成功安装后启动这些服务。正在通过命令提示符安装服务。但通过安装程序我收到此错误
服务“RedBoxReportSchedulerService”(RedBoxReportSchedulerService)无法启动。校验 您有足够的权限来启动系统服务
我确实检查了权限并通过服务属性进行了更改,但没有成功。
以下是仅安装一项服务的代码。
<Component Id ="RedBoxReportSchedulerServiceInstall" Directory="REPORTSCHEDULER" Guid="*">
<File Id='ReportSchedulerServiceEXE' Name="RedBox Report Scheduler.exe" DiskId='1' Source="../Updatedir/Report Scheduler/ReportScheduler.exe" KeyPath='yes'/>
<ServiceInstall
Id="ReportScheduler_ServiceInstaller"
Type="ownProcess"
Name="RedBoxReportSchedulerService"
DisplayName="RedBox Report Scheduler"
Description="RedBox Report Scheduler Service"
Start="auto"
Account="LocalSystem"
Arguments=" /start RedBoxReportSchedulerService"
ErrorControl="normal">
<util:PermissionEx User="Everyone" ServicePauseContinue="yes" ServiceQueryStatus="yes" ServiceStart="yes" ServiceStop="yes" ServiceUserDefinedControl="yes" />
</ServiceInstall>
<ServiceControl Id="Start_ReportScheduler_Service" Start="install" Stop="both" Remove="both" Name="RedBoxReportSchedulerService" Wait="no" />
</Component>
任何人都能说出我做错了什么。我将非常感激。
答案 0 :(得分:1)
ServiceControl中的名称必须与ServiceInstall中的名称相同,而不是。您正在尝试启动名为RedBoxReportSchedulerService的不存在的服务。如果您转到服务控制面板小程序以启动它,则实际安装的服务可能会成功启动。
这就是明显的问题。为了完整起见,如果服务仍然没有开始,那么继续这些:
如果服务具有任何跟踪诊断,则将其打开以查看服务是否正在启动和崩溃,或者是否响应启动。有一个协议,服务必须在(我认为)约30秒内响应。诊断程序将告诉您服务是否实际启动。
该服务可能缺少依赖项。代码文件完全独立是很少见的 - 它可能需要C ++运行时支持,公司的其他Dll,.NET框架版本等。安装后服务仍然安装,是吗?如果是这样,请从服务控制面板手动启动它,看它是否启动。