У меня есть служба Windows .net, которую я разработал, и я знаком с тем, как отлаживать ее с помощью Visual Studio и присоединения отладчика к процессу.У меня также есть служба записи в файлы журналов на протяжении всей обработки, чтобы помочь в отладке.Проблема, с которой я сталкиваюсь, заключается в том, что когда некоторые пользователи устанавливают мой сервис и пытаются запустить его, он выдает общую ошибку, которая говорит о том, что он не может запуститься.У меня есть обширный вход в процессы запуска в сервисе, но ни один не записывается, хотя у меня есть один прежде всего.Вот соответствующий код службы:
static void Main(string[] args)
{
ServiceBase.Run(new OSAEService());
}
public OSAEService()
{
AddToLog("Service Starting");
if (!EventLog.SourceExists("OSAE"))
EventLog.CreateEventSource("OSAE", "Application");
this.ServiceName = "OSAE";
this.EventLog.Source = "OSAE";
this.EventLog.Log = "Application";
// These Flags set whether or not to handle that specific
// type of event. Set to true if you need it, false otherwise.
this.CanHandlePowerEvent = true;
this.CanHandleSessionChangeEvent = true;
this.CanPauseAndContinue = true;
this.CanShutdown = true;
this.CanStop = true;
}
protected override void OnStart(string[] args)
{
AddToLog("OnStart");
//All the rest of my start up processes
}
public void AddToLog(string audit)
{
lock (logLocker)
{
string filePath = _apiPath + "/Logs/" + _parentProcess + ".log";
System.IO.FileInfo file = new System.IO.FileInfo(filePath);
file.Directory.Create();
StreamWriter sw = File.AppendText(filePath);
sw.WriteLine(System.DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss.fff tt") + " - " + audit);
sw.Close();
}
}
Не записываются ни журналы «Запуск службы», ни «Запуск», и я уверен, что это не проблема с разрешениями для каталога журналов.
Мой вопрос такой.Есть ли другие способы выяснить, что заставляет мой сервис не запускаться?