2011-08-31 89 views
2

那么,我已经创建了一个新的Windows服务,并从Visual Studio安装。Windows服务无法在启动后启动

当我完成安装后,我该如何启动服务?

我需要的东西,可以让我开始这个过程,或一个EXE ..东西?

安装程序是:Visual Studio安装程序 - 安装项目。

任何帮助?

我为了一个问题:

  1. 为什么服务没有启动?

  2. 如何控制intall后发生的情况?它的代码在哪里?

谢谢!

+1

这个问题需要大大澄清。当您尝试启动服务时出现什么错误? – Tejs

回答

2

开始你的服务,你可以执行以下命令:

net start YourServiceName 

或进入控制面板 - >管理工具 - >服务,并选择您的服务,然后单击开始。

上面的完整路径也取决于您的实际Windows版本。

即使您没有使用任何日志记录,一般服务失败都会记录在Windows事件日志中,因此请打开事件查看器并查看最新事件。

+0

没有错误。该服务是好的,如果我strart它我的自我它工作正常。事情是我想要的,我安装它后,它会通过它自我>< –

+0

好的,所以其他人告诉你在服务安装程序指定启动模式自动 –

+0

这是你在找什么:http://pietschsoft.com /post/2009/11/06/dotNet-Windows-Service-Installer-And-Auto-Start-After-Installation.aspx –

0

将ServiceInstaller类属性中的启动类型设置为Automatic(您可以在Designer文件中执行此操作)。

+0

服务本身是automitaic,我做了安装和一切。但我需要去调整我的自我服务,它的剂量单独... –

0

需要安装Windows服务(它应该告诉你如何尝试调试它该怎么做),然后在服务器管理器中启动。然后你可以附加到它。

他们对调试TBH有点痛苦。

0

该服务做什么?它打开SQL连接? 寻找一个文件? 尝试启动后,请在您的事件查看器中检查安装了错误的服务的错误,它会给我们一个更好的理解。

+0

没有错误,服务没问题,问题是我需要在安装后自行处理它。我希望它通过它自己..“。”> –

+0

好吧,我已创建一个Windows服务,然后创建一个VisualStudio安装程序。这是工作的精细!我可以通过我自己和它的确定来调整服务。但是>如果安装后我不自己打开它。它并不是STRAT。我怎么能这样做后,安装它iwll strart由它自己。 –

0

除非您有兴趣使其理解,否则不可能理解您的问题。

从我的假设

然而,

转到Visual Studio工具=> Visual Studio的命令提示符下使用 命令net开始<>

如果未能启动servicce,检查事件日志(在运行对话框eventvwr.msc )查看是否有任何相关的错误记录。

+0

好吧,我已经创建了一个windows服务,然后创建一个visualstudio安装程序。这是工作的精细!我可以通过我自己和它的确定来调整服务。但是>如果安装后我不自己打开它。它并不是STRAT。我怎么能这样做后,安装它iwll strart由它自己。 –

+0

您可以通过多种方式启动服务,其中之一是使用安装事件后从服务安装程序类启动服务。请参阅这里http://stackoverflow.com/questions/1036713/automatically-start-a-windows-service-on-install – humblelistener

7

即使您将启动类型设置为自动,它将不会自动启动您的服务,直到机器重新启动。你可以做的是创建事件处理程序为您服务安装程序类的AfterInstall事件,并开始使用ServiceControllerStart方法的服务如下

public serviceInstaller() 
{ 
    this.AfterInstall += new InstallEventHandler(serviceInstaller_AfterInstall); 
} 

void serviceInstaller_AfterInstall(object sender, InstallEventArgs e) 
{ 
    ServiceController sc = new ServiceController(serviceInstaller.ServiceName); 
    sc.Start(); 
} 

您可以使用Visual Studio事件窗口以及创建事件。

how to create event from VS

+1

这就是我要找的!谢谢 – swdev

0

你的Windows服务在某些系统中工作。 如果您遇到某些系统出现错误,Windows Service在安装后无法启动,如果手动/自动。

如果服务启动和停止那样,这意味着您的代码正在抛出未处理的异常。这很难调试,但有几个选项。

  1. 请参阅Windows事件查看器。 > Windows日志 - - >应用程序

Event Viewer - eventvwr.msc

通常情况下,你可以通过进入计算机/服务器管理器,然后单击事件查看器中得到了这一点。你可以看到什么抛出异常,这可能会有所帮助,但是你没有得到堆栈跟踪。 Event Viewer Log Image

  1. 在服务启动方法中添加try/catch块。

  2. 让你检查你是否使用任何热门代码(例如:“D:\”)。该驱动器在安装的系统中不可用。

这会帮助很多!