C# Windows服务未在某些本地系统上启动

C# Windows服务未在某些本地系统上启动,c#,windows-services,network-programming,C#,Windows Services,Network Programming,我创建了一个windows服务,并将其安装在网络中的3台计算机上 它在其中两个上运行良好,但在第三个上存在问题 我使用事件日志来找出问题所在,但它只是在我第一次重新启动系统时插入日志,而且我还发现它只是在其构造函数中执行InitializeComponent()命令 注意:我的服务应该插入网络中所有帐户的登录和注销,并且需要3个依赖项,它们在我的服务启动之前成功启动 编辑: 我已经按照本文创建了我的服务 ComAdminCatalogClass comAdmin = new ComAdminCa

我创建了一个windows服务,并将其安装在网络中的3台计算机上

它在其中两个上运行良好,但在第三个上存在问题

我使用事件日志来找出问题所在,但它只是在我第一次重新启动系统时插入日志,而且我还发现它只是在其构造函数中执行
InitializeComponent()
命令

注意:我的服务应该插入网络中所有帐户的登录和注销,并且需要3个依赖项,它们在我的服务启动之前成功启动

编辑: 我已经按照本文创建了我的服务

ComAdminCatalogClass comAdmin = new ComAdminCatalogClass();
ICatalogCollection subCollection;

//Service Constructor
Public Service1()
{
   try
   {
      EventLog.WriteEntry("Service1","1");
      InitializeComponent();
      EventLog.WriteEntry("Service1","2");

      subCollection = (ICatalogCollection)comAdmin.GetCollection("TransientSubscriptions");

      SubScribToEvent(subCollection, "Logon");
      SubScribToEvent(subCollection, "Logoff");
   }
   catch (Exception exp)
   {
      EventLog.WriteEntry("Service1",exp.Message);
   }
}

非常感谢@akton,我已经通过运行我服务的exe找到了解决方案

太愚蠢了。第三个系统的事件查看器已满!!!我清除了它的所有日志,我的服务现在在所有三个系统中都可以正常工作


您可以按照以下步骤清除所有事件

您需要提供更多信息。可能在InitializeComponent周围或内部添加一个异常处理程序,并记录抛出异常的详细信息。@akton,我使用try..Catch来处理异常,并在事件日志中写入异常消息,但没有插入显示问题所在的日志。那么你就知道问题还没有解决。所有从属程序集是否都存在?当您直接运行exe时会发生什么情况?@MitchWheat,我没有老板的权限将我的服务放在这个系统中,因此如果需要,我应该重新编写代码。但是我已经编写了我的服务的构造函数。这意味着服务在连接到服务控制器之前发生了错误。但是,当EXE在服务之外运行时,也可能发生这种情况,例如在Visual Studio中按F5或从命令行中按F5