Голосование

Должна ли серверная компонента приложения запускаться как служба и не зависить от активности пользователя?

Должна.
4 (100%)
Не должна.
0 (0%)
Не понимаю о чем речь.
0 (0%)

Проголосовало пользователей: 4

Автор Тема: Запуск серверной части LeaderTask как службы.  (Прочитано 1890 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Steel Rain

  • Новичок
  • *
  • Сообщений: 4
  • Репутация +1/-0
    • Просмотр профиля
Доброго времени суток.
Заметили странное поведение серверной части приложения - происходит спонтанное завершение работы.
Согласно инструкции серверная часть (ltserver.exe) была инсталлирована на "компьютер был включен постоянно, а также имел статический IP." в качестве которого был выбран сервер под управлением Win Server 2008 R2 выполняющий роль сервера терминалов, а также файлового сервера.
Установка приложения была выполнена под учетной записью Администратора с полными правами. Приложению lracomserver.exe даны все возможные разрешения и права на уровне антивируса, файрвола и т.д. и т.п.
Тем не менее приложение работает только до тех пор, пока активна учетная запись Администратора подключенного к терминальному серверу. Т.к. активирована опция отключения бездействующих сеансов, соответственно каждое утро приходится подключаться к серверу чтобы запустилась серверная часть приложения LeaderTask. Как сделать чтобы приложение не нуждалось в активно подключенном сеансе пользователя для запуска?

P.S. содержимое файлов лога выглядит так:
Begin: 13.05.2015 11:48:59
>--------------------------------------------------------------------------


если это может пролить свет на ситуацию...
« Последнее редактирование: 19 Мая 2015, 19:27:00 от Steel Rain »

Оффлайн Дмитрий Маслов

  • Администратор
  • Маэстро
  • *****
  • Сообщений: 6113
  • Репутация +219/-18
  • Я делаю мир таким!
    • Просмотр профиля
Пожалуйста отпишите в тех поддержку по этому вопросу

Оффлайн Steel Rain

  • Новичок
  • *
  • Сообщений: 4
  • Репутация +1/-0
    • Просмотр профиля
Итак, после довольно продолжительной переписки с техподдержкой было выяснено, что серверная часть приложения LeaderTask работать умеет только в активном сеансе пользователя. Запуск приложения как службы не предусмотрен и как решить эту проблему техподдержка не в курсе.
Собственно, что мне предложили:
1.
Цитировать
Т.к. активирована опция отключения бездействующих сеансов
Для решения проблемы необходимо деактивировать эту опцию.
что, по ряду причин, является совершенно неприемлемым и никоим образом не решает проблему запуска после перезагрузки сервера.
2.
Цитировать
- Вариант "деактивировать эту опцию" категорически неприемлем. Есть ещё предложения как решить проблему?
 - Как вариант можно запустить приложение как сервис. Однако, официально у нас нет инструкций о том, как это сделать.
Можем предоставить некоторые неофициальные рекомендации, работоспособность которых мы не можем гарантировать. Если это необходимо, пожалуйста, подтвердите.
Цитировать
Всю доступную информацию по этому вопросу можно посмотреть здесь:
http://forum.leadertask.ru/index.php/topic,9038.msg55972.html#msg55972
ссылка на удаленную в архив ветку форума, где предлагается запуск приложения как службы с помощью instsrv.exe и srvany.exe из Windows Resouce Kit.
Это тоже не прокатило, т.к. серверная часть приложения не предусматривает запуск в консоли. Службу-то создать можно и она даже стартует процесс leadcomserver.exe, но через несколько секунд процесс завершает работу, а служба останавливается с ошибкой 1053 "Служба не ответила на запрос своевременно". На это техподдержка ответила следующее:
Цитировать
Другой информации по запуску серверной компоненты как службы у нас нет, и уже этот метод не является официальным, т.е. его поддержка не осуществляется и работоспособность не гарантируется.
Судя по постам в архиве форума вопросы по этой проблеме задавали ещё, как минимум, с 2010 года и тогда было заявлено
Цитировать
В будущем такую возможность планируется реализовать. В настоящий момент есть определённые инструкции по запуску приложения как службы. К сожалению, эти инструкции ещё не тестировались официально, однако, уже помогли многим нашим пользователям:
но, мало того, что это не было реализовано, так даже не удосужились протестировать работоспособность предложенных инструкций, и это за ПЯТЬ ЛЕТ!!!

Теперь, собственно, решение:
http://windowsnotes.ru/programs/kak-zapustit-prilozhenie-v-vide-sluzhby-windows/
коротко: для создания службы можно использовать утилиту nssm, есть версии для 32 и 64 разрядных систем. Скачиваем, распаковываем, запускаем cmd с правами администратора, переходим в папку где лежит nssm, пишем nssm install *имя создаваемой службы*. Дальше открывается GUI nssm, а там, в общем то, все достаточно прозрачно. Приложение leadcomserver.exe запускается как процесс без GUI, зато не требуется вмешательство пользователя.
Скачать nssm можно тут https://nssm.cc/download
Тестировалось на Windows Server 2008 R2 x64