C# Windows WCF服务不支持';使用VS安装程序后无法启动-错误1053

C# Windows WCF服务不支持';使用VS安装程序后无法启动-错误1053,c#,.net,wcf,C#,.net,Wcf,我有一个窗口安装程序,它安装我的发布版本服务并安装该服务。所有这些都可以工作,但当我转到services.msc时,服务在那里并设置为自动,但当我手动启动它时,它不会启动,并且由于“错误1053:服务未响应启动或控制请求”而失败,并且服务处于设置为启动的状态 有趣的是,如果我卸载服务组件并使用“sc create”service“binpath=“Path to serviceName”start=auto手动安装相同的服务,然后进入services.msc并手动启动它,一切都会正常工作 安装程

我有一个窗口安装程序,它安装我的发布版本服务并安装该服务。所有这些都可以工作,但当我转到services.msc时,服务在那里并设置为自动,但当我手动启动它时,它不会启动,并且由于“错误1053:服务未响应启动或控制请求”而失败,并且服务处于设置为启动的状态

有趣的是,如果我卸载服务组件并使用“sc create”service“binpath=“Path to serviceName”start=auto手动安装相同的服务,然后进入services.msc并手动启动它,一切都会正常工作

安装程序安装后,我不能启动服务,因为它的代码版本与我手动安装和启动时的代码版本相同。有人知道如何解决这个奇怪的问题吗

更新: 我注意到的一件事是,如果代码是在调试模式与发布模式下构建的,那么服务可以与安装程序一起启动。我不知道为什么,因为我可以从vs dev解决方案中的发布文件夹手动安装和启动服务,但当发布版本安装在解决方案之外时,它无法启动。可能这是一个错误ts权限问题,我需要在启动服务和发布版本时做一些不同的事情。我知道您可以在启动服务之前更改该服务的权限,目前它设置为本地服务,但可能这是错误的,不确定

protected override void OnStart(string[] args)
{
   _cHost = new ServiceHost(typeof(WebService.Service));
   _cHost.Open();
}

在这两种情况下,用于登录的帐户是相同的吗?是的。这是最疯狂的事情。我可以手动安装服务,正如我在发布版本中所说的,使用批处理文件w/sc create“通过管理模式,但当安装程序从install code文件夹添加服务时,该文件夹与release文件夹中的文件夹相同/w是.pdb文件的例外,我无法启动它,它只是超时。是否有基于解决方案配置的分支,如#if DEBUG?实际上没有。您认为当我通过安装程序安装服务后启动该服务时,我需要在管理模式下运行service.msc来启动它吗?但是,当我在没有VS安装程序的情况下手动安装和启动时,我不需要这样做。因此,您的OnStart()花费的时间太长。您能否告诉我们您的代码在该方法中的作用,或者更好地提供代码?还可以方便地包含一些EventLog.WriteEntry(“服务正在初始化FooBar”,EventLogEntryType.Information,1234);线。