Создание WindowsService
От: Аноним  
Дата: 10.08.05 10:21
Оценка:
Как лучше созать сервис для существующего приложения?
Re: Создание WindowsService
От: Andrbig  
Дата: 10.08.05 10:59
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Как лучше созать сервис для существующего приложения?


Лучше поконкретнее сформулировать задачу.
Re[2]: Создание WindowsService
От: dub  
Дата: 10.08.05 11:22
Оценка:
Здравствуйте, Andrbig, Вы писали:

A>Здравствуйте, Аноним, Вы писали:


А>>Как лучше созать сервис для существующего приложения?


A>Лучше поконкретнее сформулировать задачу.


Есть большое такое приложние. Уже написано.
Надо написать сервис которое бы его запускало и стопило вместе с сервисом.
Но в TaskManagere надо чтобы висел только один процесс севиса,
то есть Process.Start() без окна подошло бы если бы не последнее условие.

как лучше сделать? перенести весь код приложения в новосозданный сервис или наооброт что то добавить в приложение (аля прожект инсталятор, и тд) что бы оно смогло проинсталиться как сервис

зы: второе конечно предпочтительнее...
Re[3]: Создание WindowsService
От: dub  
Дата: 10.08.05 11:44
Оценка:
Здравствуйте, dub, Вы писали:

dub>Здравствуйте, Andrbig, Вы писали:


A>>Здравствуйте, Аноним, Вы писали:


А>>>Как лучше созать сервис для существующего приложения?


A>>Лучше поконкретнее сформулировать задачу.


dub>Есть большое такое приложние. Уже написано.

dub>Надо написать сервис которое бы его запускало и стопило вместе с сервисом.
dub>Но в TaskManagere надо чтобы висел только один процесс севиса,
dub>то есть Process.Start() без окна подошло бы если бы не последнее условие.

dub>как лучше сделать? перенести весь код приложения в новосозданный сервис или наооброт что то добавить в приложение (аля прожект инсталятор, и тд) что бы оно смогло проинсталиться как сервис


dub>зы: второе конечно предпочтительнее...


уже не очень актуалень этот вопрос
теперь вопрос след.:

у меня сервис является сервером NetRemoting
Так вот стартует он нормально и порт открывает нужный...
и слушает его
а вот клиент почему не может получить объект
в чем я мог ошибиться?
Re[4]: Создание WindowsService
От: Andrbig  
Дата: 10.08.05 12:30
Оценка:
Здравствуйте, dub, Вы писали:

dub>у меня сервис является сервером NetRemoting

dub>Так вот стартует он нормально и порт открывает нужный...
dub>и слушает его
dub>а вот клиент почему не может получить объект
dub>в чем я мог ошибиться?

Это уже другая тема, заведи новую ветку и задай там вопрос. Только потрудись немного, опиши конкретнее:
1. какие методы у сервера (wellknown и т.д.), можешь .config привести
2. код клиента и его .config
3. какое именно исключение происходит (если происходит)
4. работат ли это если сервер отдельная прога, не сервис
5. как ты проверяешь что "стартует он нормально и порт открывает нужный"

Ве же не все в этом форуме — телепаты.
Re[5]: Создание WindowsService
От: dub  
Дата: 10.08.05 13:09
Оценка:
Все заработало но только теперь вылазит exception из Com компонента.
Поясню.
У меня в приложении используется COM компонент и когда оно было обычным приложением все работало. Теперь же я не могу ничего сделать с компонентом. Опять же в обычном приложнии эта же ошибка вылазила из-за не установленного аттрибута [STAThread] — single-threaded apartment.
Этот аттрибут я ставил на метод static void Main().
В сервисе жекуда я его только не ставил
И над static void Main() (где сервис запускается)
и над методом OnStart() (в самом сервисе)
и даже конкретно над методот где используется этот компонент...

Что мне делать подскажите
Re[6]: Создание WindowsService
От: Andrbig  
Дата: 10.08.05 13:34
Оценка:
Здравствуйте, dub, Вы писали:

dub>Что мне делать подскажите


Не знаю, что там у тебя за компонента, но попробуй такой финт:
1. в OnStart запускай поток
2. в созданном потоке создавай этот компонент и в нем же работай с ним

Может комопнент хочет работать в том же потоке, где и создавался?
Re[7]: Создание WindowsService
От: dub  
Дата: 10.08.05 13:44
Оценка:
Здравствуйте, Andrbig, Вы писали:

A>Здравствуйте, dub, Вы писали:


dub>>Что мне делать подскажите


A>Не знаю, что там у тебя за компонента, но попробуй такой финт:

A>1. в OnStart запускай поток
A>2. в созданном потоке создавай этот компонент и в нем же работай с ним

A>Может комопнент хочет работать в том же потоке, где и создавался?


Не прошло
Мне то в принципе и работать надо с ним тольков одном методе.
Запустил в новом потоке и ... таже хрень...
Прошу заметить что это 99% изза STA потому что тот же самый код 100% правильно работает в не WinService приложении
Re[8]: Создание WindowsService
От: Andrbig  
Дата: 10.08.05 14:02
Оценка:
Здравствуйте, dub, Вы писали:

dub>Не прошло

dub>Мне то в принципе и работать надо с ним тольков одном методе.
dub>Запустил в новом потоке и ... таже хрень...
dub>Прошу заметить что это 99% изза STA потому что тот же самый код 100% правильно работает в не WinService приложении

Похоже на проблему с правами. Запусти сервис под тем же аккаунтом, что и не WinService приложение (там где 100%).
Re[9]: Создание WindowsService
От: dub  
Дата: 10.08.05 14:32
Оценка:
Здравствуйте, Andrbig, Вы писали:

A>Здравствуйте, dub, Вы писали:


dub>>Не прошло

dub>>Мне то в принципе и работать надо с ним тольков одном методе.
dub>>Запустил в новом потоке и ... таже хрень...
dub>>Прошу заметить что это 99% изза STA потому что тот же самый код 100% правильно работает в не WinService приложении

A>Похоже на проблему с правами. Запусти сервис под тем же аккаунтом, что и не WinService приложение (там где 100%).



ставлю тип сервиса — User
и когда пытаюсь проинтались выдаётся такое окошко где надо ввести имя пользователя и пароль
ввожу те под которыми сча зашел в домен и

An exception occurred during the Install phase.
System.ComponentModel.Win32Exception: Имя учетной записи задано неверно или не существует, или же неверен указанный пароль
Re[10]: Создание WindowsService
От: dub  
Дата: 10.08.05 14:53
Оценка:
Здравствуйте, dub, Вы писали:

dub>Здравствуйте, Andrbig, Вы писали:


A>>Здравствуйте, dub, Вы писали:


dub>>>Не прошло

dub>>>Мне то в принципе и работать надо с ним тольков одном методе.
dub>>>Запустил в новом потоке и ... таже хрень...
dub>>>Прошу заметить что это 99% изза STA потому что тот же самый код 100% правильно работает в не WinService приложении

A>>Похоже на проблему с правами. Запусти сервис под тем же аккаунтом, что и не WinService приложение (там где 100%).



dub>ставлю тип сервиса — User

dub>и когда пытаюсь проинтались выдаётся такое окошко где надо ввести имя пользователя и пароль
dub>ввожу те под которыми сча зашел в домен и

dub>An exception occurred during the Install phase.

dub>System.ComponentModel.Win32Exception: Имя учетной записи задано неверно или не существует, или же неверен указанный пароль


ну я не знаю
создал еще одну учетную запись и все равно не могу проинсталить сервис с Account Type = User
ошибка та же...

вообще с каким типом аакаунта надо инсталить сервис?
Re[11]: Создание WindowsService
От: Andrbig  
Дата: 11.08.05 07:18
Оценка:
Здравствуйте, dub, Вы писали:

dub>вообще с каким типом аакаунта надо инсталить сервис?


Инсталли с автоматом, чтбоы вопросов было меньше, потом вручную у сервиса исправишь аккаунт и все.
Re[12]: Создание WindowsService
От: dub  
Дата: 11.08.05 08:05
Оценка:
Здравствуйте, Andrbig, Вы писали:

A>Здравствуйте, dub, Вы писали:


dub>>вообще с каким типом аакаунта надо инсталить сервис?


A>Инсталли с автоматом, чтбоы вопросов было меньше, потом вручную у сервиса исправишь аккаунт и все.


как это автоматом?
и как это потом можно вручную исправить?
Re[13]: Создание WindowsService
От: Andrbig  
Дата: 11.08.05 08:30
Оценка: 3 (1)
Здравствуйте, dub, Вы писали:


dub>как это автоматом?

ServiceProcessInstaller.Account = ServiceAccount.LocalService

dub>и как это потом можно вручную исправить?


  1. Правая клавиша на my Computer
  2. пункт Manage
  3. элемент в дереве Services and Applications
  4. элемент Services
  5. в списке справа находишь свой сервис
  6. правая клавиша на нем
  7. пункт Properties
  8. вкладка Log On
  9. пункт This Account
Re[14]: Создание WindowsService
От: dub  
Дата: 11.08.05 09:02
Оценка:
Здравствуйте, Andrbig, Вы писали:

A>Здравствуйте, dub, Вы писали:



dub>>как это автоматом?

A>ServiceProcessInstaller.Account = ServiceAccount.LocalService

dub>>и как это потом можно вручную исправить?


A>

    A>
  1. Правая клавиша на my Computer
    A>
  2. пункт Manage
    A>
  3. элемент в дереве Services and Applications
    A>
  4. элемент Services
    A>
  5. в списке справа находишь свой сервис
    A>
  6. правая клавиша на нем
    A>
  7. пункт Properties
    A>
  8. вкладка Log On
    A>
  9. пункт This Account
    A>

можно было просто сказать в пропертях проинсталенного сервиса
хотя я мог бы и сам догадаться...

когда там выставляю запуск с учетной записью и указываю имя польз и пароль то вылетает таже же ошибка что типа такой уч записи не сущетсвует
блин че за фигня!!!

а вот там есть такая занимательная галочка — разрешить взаимодействие с рабочим столом и о чудо!!! поставил её и запустился мой cалc.ехе

запустился как новый процесс
как новый сервисный процесс даже
то что надо
осталось решить проблему с COM
Re[15]: Создание WindowsService
От: dub  
Дата: 11.08.05 09:11
Оценка:
Здравствуйте, dub, Вы писали:

dub>Здравствуйте, Andrbig, Вы писали:


A>>Здравствуйте, dub, Вы писали:



dub>>>как это автоматом?

A>>ServiceProcessInstaller.Account = ServiceAccount.LocalService

dub>>>и как это потом можно вручную исправить?


A>>

    A>>
  1. Правая клавиша на my Computer
    A>>
  2. пункт Manage
    A>>
  3. элемент в дереве Services and Applications
    A>>
  4. элемент Services
    A>>
  5. в списке справа находишь свой сервис
    A>>
  6. правая клавиша на нем
    A>>
  7. пункт Properties
    A>>
  8. вкладка Log On
    A>>
  9. пункт This Account
    A>>

dub>можно было просто сказать в пропертях проинсталенного сервиса

dub>хотя я мог бы и сам догадаться...

dub>когда там выставляю запуск с учетной записью и указываю имя польз и пароль то вылетает таже же ошибка что типа такой уч записи не сущетсвует

dub>блин че за фигня!!!

dub>а вот там есть такая занимательная галочка — разрешить взаимодействие с рабочим столом и о чудо!!! поставил её и запустился мой cалc.ехе


dub>запустился как новый процесс

dub>как новый сервисный процесс даже
dub>то что надо
dub>осталось решить проблему с COM


я имею ввиду не просто запустился процесс но я смог лицезреть и многофункицональное окошко калькулятора.
Кстати а как эту галочку поставить программно во время инсталла сервиса?
Re[16]: Создание WindowsService
От: Andrbig  
Дата: 11.08.05 10:10
Оценка: 2 (1)
Здравствуйте, dub, Вы писали:

dub>>когда там выставляю запуск с учетной записью и указываю имя польз и пароль то вылетает таже же ошибка что типа такой уч записи не сущетсвует

dub>>блин че за фигня!!!

Неправильно ты, дядя Федор, бутерброд ешь. (c) Кот Матроскин

Ты ошибаешься в имени/пароле — вот и фигня. Запуск под аккаунтом успешно работает — лично у себя проверил.

dub>>а вот там есть такая занимательная галочка — разрешить взаимодействие с рабочим столом и о чудо!!! поставил её и запустился мой cалc.ехе


Показался а не запустился. Запускается он всегда, показывается — нет.


dub>я имею ввиду не просто запустился процесс но я смог лицезреть и многофункицональное окошко калькулятора.

dub>Кстати а как эту галочку поставить программно во время инсталла сервиса?
http://www.rsdn.ru/article/baseserv/svcadmin-1.xml
Автор(ы): Александр Федотов
Дата: 24.03.2002
В статье рассматриваются вопросы управления системными
службами Windows NT: чтение и изменение конфигурации, запуск и
остановка, установка и удаление служб. В статье описана большинство
функций управления службами, использование каждой функции
продемонстрировано примерами.
Re[17]: Создание WindowsService
От: dub  
Дата: 11.08.05 10:28
Оценка:
Здравствуйте, Andrbig, Вы писали:

A>Здравствуйте, dub, Вы писали:


dub>>>когда там выставляю запуск с учетной записью и указываю имя польз и пароль то вылетает таже же ошибка что типа такой уч записи не сущетсвует

dub>>>блин че за фигня!!!

A>Неправильно ты, дядя Федор, бутерброд ешь. (c) Кот Матроскин


фишка в том что надо было полный путь указать к учетной записи домена
то есть DOMAIN\UserProfile
Re[18]: Создание WindowsService
От: Andrbig  
Дата: 11.08.05 10:47
Оценка:
Здравствуйте, dub, Вы писали:

dub>фишка в том что надо было полный путь указать к учетной записи домена

dub>то есть DOMAIN\UserProfile



Кстати, посмотри здесь и не удивляйся, если на какой-то другой машине вся твоя интерактивность пойдет по бороде.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.