2010-10-11 3 views
0

под управлением Windows сервис, написанный на C#, который на самом деле взаимодействует с MS Word отлично работает при запуске в отладке mode..or запуске из командной строки ..служба написана на C# не работает после установки

Но это не работает после установки его как службы. Учетная запись, которая запускает службу, является администратором (локальным).

Server 2008 R2 ... никогда не было проблем, прежде чем использовать в 2003

+1

можете ли вы опубликовать фрагменты кода? –

+0

Что говорят окна журналов? –

+0

Вы используете межсетевую сборку для взаимодействия с Office? – Sorax

ответ

3

Лучший способ понять «почему моя служба не работает?» использует

  try 
      { 

      } 
      catch (Exception ex) 
      { 
       EventLog.WriteEntry(ex.Message + ex.StackTrace); 
      } 

в На старт, ваш главный метод и т.п .. событие.

0

Имеет ли учетная запись службы "Log on as a service" прав?

+0

yes..it does ..., где я установил учетную запись Admin (локальная) для запуска службы – Mike

0

Исключение было выбрано целью вызова. в System.RuntimeType.InvokeDispMethod (String name, BindingFlags invokeAttr, Object target, Object [] args, Boolean [] byrefModifiers, Int32-культура, String [] namedParameters) в System.RuntimeType.InvokeMember (имя строки, привязкаFlags bindingFlags, связующее связующее , Object target, Object [] providedArgs, ParameterModifier [], Culture Culture, String [] namedParams) в System.Type.InvokeMember (имя строки, BindingFlags invokeAttr, связующее связующее, цель объекта, объект [] args)

1

В Windows Server 2008 R2 службы, которые вы создаете .Net Framework, которым необходим доступ к файловой системе для запуска, должны иметь правильные привилегии для запуска. В моем случае мне нужно было установить службу, открыть окно «Службы», остановить службу, щелкнуть правой кнопкой мыши и изменить свойства службы, чтобы использовать учетную запись администратора при запуске. Как только я это сделал, служба начала работать по назначению.

Теперь это может быть не самое лучшее, что нужно делать все время, поэтому вы, вероятно, захотите определить пользовательскую учетную запись в системе с минимальным количеством привилегий, необходимых для выполнения вашей службы.

Смежные вопросы