我创建了一个新的Windows服务,并通过Visual Studio进行安装。
安装完成后,如何启动该服务?
我需要一些可以启动进程或可执行文件的东西。
安装程序是:Visual Studio Installer - Setup Project。
有什么帮助吗?
我的问题如下:
为什么服务没有启动?
我如何控制安装后发生的事情?代码在哪里?
谢谢!
我创建了一个新的Windows服务,并通过Visual Studio进行安装。
安装完成后,如何启动该服务?
我需要一些可以启动进程或可执行文件的东西。
安装程序是:Visual Studio Installer - Setup Project。
有什么帮助吗?
我的问题如下:
为什么服务没有启动?
我如何控制安装后发生的事情?代码在哪里?
谢谢!
即使您将启动类型设置为自动,它也不会在计算机重新启动之前自动启动您的服务。您可以通过创建服务安装程序类的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事件窗口创建事件。
要启动您的服务,您可以执行以下命令:
net start YourServiceName
或者前往控制面板 -> 管理工具 -> 服务,选择您的服务并点击启动。
上述完整路径也取决于您实际使用的Windows版本。
即使您没有使用任何日志记录,在一般情况下,服务故障都会记录在Windows事件日志中,因此打开事件查看器并查看最新事件。
说实话,它们有点难调试。
如果你没有对让问题变得易懂有兴趣,那么理解你的问题是不可能的。
然而从我的假设来看,
前往 Visual Studio 工具 => Visual Studio 命令提示符 使用命令 net start <>
如果启动服务失败,请检查事件日志(在运行对话框中键入 eventvwr.msc),以查看是否有任何相关错误记录。
您的Windows服务在某些系统中运行。
如果您在手动/自动安装后遇到某些系统无法启动Windows服务的错误,那么这意味着您的代码正在抛出未处理的异常。这很难调试,但有一些选项可供选择。
通常,您可以通过转到计算机/服务器管理器,然后单击事件查看器-> Windows日志->应用程序来访问此功能。您可以在此处查看引发异常的内容,这可能有所帮助,但您无法获得堆栈跟踪。 Event Viewer Log Image
在服务启动方法中添加try/catch块。
检查您是否使用了任何热代码(例如:“D:\”)。该驱动器在已安装的系统中不可用。
这将非常有帮助!