2016-12-07 9 views
0

Я создал службу с использованием visual studio и установил ее с помощью командной строки Visual Studio. Он отлично работаетСлужба Windows не работает должным образом

Но теперь я хочу установить ту же услугу с помощью установщика визуальной студии. Я создал установщик, следуя этому link. Установщик действительно устанавливает службу должным образом, так как не вызывает никаких ошибок или исключений. Но когда я запускаю службу из списка услуг, служба запускается, но она не записывается в файл журнала. Так может кто-нибудь помочь мне и сказать, почему служба выполняет ОК при установке с помощью командной строки, но вызывает проблемы при установке через установщик.

protected override void OnStart(string[] args) 
{ 
    timer1 = new Timer(); 
    this.timer1.Interval = 5000; 
    this.timer1.Elapsed += new System.Timers.ElapsedEventHandler(this.timer1_tick); 
    timer1.Enabled = true; 
    Library.WriteErrorLog("service started!"); 
} 

private void timer1_tick(object sender, ElapsedEventArgs e) 
{ 
    Library.WriteErrorLog("Timer ticked succesfully"); 
} 

protected override void OnStop() 
{ 
    timer1.Enabled = false; 
    Library.WriteErrorLog("Service Stopped!"); 
} 
+0

Попробуйте отладить вашу службу, как описано [здесь] (http://stackoverflow.com/a/126016/1630056) – Pan

+0

Вы устанавливаете службу для запуска как пользователь, локальная услуга или услуга сети? –

+0

@SimonPrice как локальная служба, а также попыталась как локальная система –

ответ

0

Вы проверили, что у службы есть разрешение на запись в файл журнала?

Проверьте права доступа к каталогу, перейдите в папку журнала - Свойства и вкладка Безопасность.

Услуги обычно выполняются без возможности доступа на запись в файловую систему Windows.

+0

он отлично работает, когда установлен в командной строке –

+0

При установке через командную строку пользователь отличается от пользователя при использовании установщика? IE, используя столбец имени диспетчера задач? Также вы видите, что служба запускается при запуске служб msc в поле «Выполнить» в меню «Пуск»? –

+0

Да Состояние запущено. и пользователь такой же –

0

Перед установкой проверьте все ваши пути и каталог. иногда выбираются неправильные каталоги.