Я создал и установил сервис пару раз. Первоначально он работал нормально, но после некоторых изменений в Service Code он начал давать ошибку, когда я перезапускаю службу в Services.msc:
Ошибка 1053: служба не ответила на запрос запуска или управления своевременно
код:
public partial class AutoSMS : ServiceBase
{
public AutoSMS()
{
InitializeComponent();
eventLog1.Clear();
if (!System.Diagnostics.EventLog.SourceExists("MySource"))
{
System.Diagnostics.EventLog.CreateEventSource(
"MySource", "MyNewLog");
}
eventLog1.Source = "MySource";
eventLog1.Log = "MyNewLog";
Timer checkForTime = new Timer(5000);
checkForTime.Elapsed += new ElapsedEventHandler(checkForTime_Elapsed);
checkForTime.Enabled = true;
}
protected override void OnStart(string[] args)
{
eventLog1.WriteEntry("In OnStart");
}
protected override void OnStop()
{
eventLog1.WriteEntry("In onStop.");
}
void checkForTime_Elapsed(object sender, ElapsedEventArgs e)
{
string Time = "15:05:00";
DateTime dateTime = DateTime.ParseExact(Time, "HH:mm:ss",
CultureInfo.InvariantCulture);
if (DateTime.Now == dateTime) ;
eventLog1.WriteEntry(Time);
}
}
Вот мой основной код метода
static void Main()
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new AutoSMS()
};
ServiceBase.Run(ServicesToRun);
}
Я также пробовал следующие шаги:
- Перейдите в меню "Пуск" > "Выполнить" и введите regedit
- Перейдите к: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
- С выбранной папкой управления щелкните правой кнопкой мыши в панели справа и выберите новое значение DWORD
- Назовите новый DWORD: ServicesPipeTimeout
- Щелкните правой кнопкой мыши ServicesPipeTimeout и выберите команду Изменить
- Нажмите "Десятичный", введите "180000" и нажмите "ОК"
- Перезагрузите компьютер.
Я использовал для установки и удаления его с помощью следующей команды:
installutil AutoSMS.exe
installutil /u AutoSMS.exe