安装后Windows服务无法启动

时间:2011-08-31 17:32:30

标签: c# visual-studio-2010 windows-services

好吧,我已经创建了一个新的Windows服务并从Visual Studio安装。

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

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

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

任何帮助?

我的问题依次为:

  1. 为什么服务无法启动?

  2. 我怎样才能控制intall之后发生的事情?它的代码在哪里?

  3. 谢谢!

7 个答案:

答案 0 :(得分:9)

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

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 :(得分:5)

要启动您的服务,您可以执行以下命令:

net start YourServiceName

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

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

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

调试它们有点痛苦,TBH。

答案 4 :(得分:0)

该服务有何功能?是打开SQL连接? 找文件? 在您尝试启动服务后,检查您的事件查看器安装服务的位置是否存在错误,这将使我们更好地理解。

答案 5 :(得分:0)

除非您有兴趣使其易于理解,否则无法理解您的问题。

然而,根据我的假设,

转到Visual Studio Tools => Visual Studio命令提示符 使用命令net start<>

如果启动服务失败,请检查事件日志(运行对话框中的eventvwr.msc)以查看是否记录了任何相关错误。

答案 6 :(得分:0)

您的Windows服务在某些系统中运行。 如果您遇到某些系统获取错误,请在安装后手动/自动启动Windows服务。

如果服务启动和停止,则意味着您的代码抛出了未处理的异常。这很难调试,但有一些选择。

  1. 咨询Windows事件查看器。
  2. Event Viewer - eventvwr.msc

    通常你可以通过转到计算机/服务器管理器,然后单击事件查看器 - >来实现此目的。 Windows日志 - >应用。您可以在这里查看引发异常的内容,这可能有所帮助,但您无法获得堆栈跟踪。 Event Viewer Log Image

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

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

    3. 这将有很大帮助!