запуск сервиса в висте

Тема в разделе "WASM.SOFTWARE", создана пользователем wsd, 23 июл 2009.

  1. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    есть легальное приложение, которое должно работать в качестве сервиса в висте.
    в XP всё нормально работает, а в висте пишет "отказано в доступе".
    если запускать не сервисом, а консольно(под простым юзером) - работает нормально.
    что-где подправить можно?
     
  2. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Приложение интерактивное?
     
  3. Sol_Ksacap

    Sol_Ksacap Миша

    Публикаций:
    0
    Регистрация:
    6 мар 2008
    Сообщения:
    623
    Что это пишет? Может быть, опять UAC настроен против тебя?
     
  4. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Partner
    сетевая служба, если точнее уже две: Tomcat и PostgreSQL.
    Sol_Ksacap
    да и я про тоже :) при входе в систему, пишет приложению томкат отказано в доступе.
    вручную в сервисах запускается, но потом не останавливается.
    а PostgreSQL запускается исключительно только консольно :dntknw:
     
  5. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Tomcat сейчас начал свободно запускаться и останавливаться в ручную в сервисах.
    но бутстапом не хочет - пишет приложению томкат отказано в доступе
    а PostgreSQL запускается исключительно только консольно :dntknw:
     
  6. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Sol_Ksacap
    да и привилегии может не нужны, в консоли стартует из-под ограниченного юзера.
    где-то у меня скрипт был, отключающий UAC, но это не понравиться тому, кому я это
    ставить собрался. может можно как-нибудь какой-то манифест присобачить?
     
  7. Sol_Ksacap

    Sol_Ksacap Миша

    Публикаций:
    0
    Регистрация:
    6 мар 2008
    Сообщения:
    623
    Хм. Не, UAC вряд ли замешан. Разве что косвенно. Может быть, какая-нибудь гречиха с правами доступа? Например, для пользователя, от имени которого запускается служба, выставлены отказные права на какой-нибудь файл, необходимый для запуска? Это не объясняет поведение Tomcat хотя.
    Нужно посмотреть вывод команд "sc qc Tomcat", "sc qprivs Tomcat", "sc qsidtype Tomcat". То же для PostgreSQL. (Если не подойдут эти имена сервисов, поискать подходящие можно в "HKLM\SYSTEM\CurrentControlSet\Services"). Вообще, выложи сюда вывод этих команд. Затем проверить, что используемые пользователи или их группы имеют доступ к директориям: здесь просто попробовать запустить PostgreSQL от имени пользователя, указанного в конфиге сервиса – например с помощью "psexec" из SysinternalsSuite.
     
  8. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Sol_Ksacap
    tomcat
    Код (Text):
    1. C:\MySQL5.1\bin>sc qc Tomcat6
    2. [SC] QueryServiceConfig: успех
    3.  
    4. Имя_службы: Tomcat6
    5.         Тип                  : 10  WIN32_OWN_PROCESS
    6.         Тип_запуска          : 3   DEMAND_START
    7.         Управление_ошибками  : 1   NORMAL
    8.         Имя_двоичного_файла  : "F:\ServerJ\Tomcat6\Tomcat 6.0\bin\tomcat6.exe" /
    9. /RS//Tomcat6
    10.         Группа_запуска       :
    11.         Тег                  : 0
    12.         Выводимое_имя        : Apache Tomcat 6
    13.         Зависимости          :
    14.         Начальное_имя_службы : LocalSystem
    15.  
    16. C:\MySQL5.1\bin>sc qprivs Tomcat6
    17. [SC] QueryServiceConfig2: успех
    18.  
    19. SERVICE_NAME: Tomcat6
    20.         PRIVILEGES       :
    21.  
    22. C:\MySQL5.1\bin>sc qsidtype Tomcat6
    23. [SC] QueryServiceConfig2: успех
    24.  
    25. SERVICE_NAME: Tomcat6
    26. SERVICE_SID_TYPE:  NONE
    postgresql
    Код (Text):
    1. C:\MySQL5.1\bin>sc qc postgresql-8.3
    2. [SC] QueryServiceConfig: успех
    3.  
    4. Имя_службы: postgresql-8.3
    5.         Тип                  : 10  WIN32_OWN_PROCESS
    6.         Тип_запуска          : 3   DEMAND_START
    7.         Управление_ошибками  : 1   NORMAL
    8.         Имя_двоичного_файла  : C:/PostgreSQL/8.3/bin/pg_ctl.exe runservice -N "
    9. ostgresql-8.3" -D "C:/PostgreSQL/8.3/data" -w
    10.         Группа_запуска       :
    11.         Тег                  : 0
    12.         Выводимое_имя        : PostgreSQL Server 8.3
    13.         Зависимости          : RPCSS
    14.         Начальное_имя_службы : .\postgres
    15.  
    16. C:\MySQL5.1\bin>sc qprivs postgresql-8.3
    17. [SC] QueryServiceConfig2: успех
    18.  
    19. SERVICE_NAME: postgresql-8.3
    20.         PRIVILEGES       :
    21.  
    22. C:\MySQL5.1\bin>sc qsidtype postgresql-8.3
    23. [SC] QueryServiceConfig2: успех
    24.  
    25. SERVICE_NAME: postgresql-8.3
    26. SERVICE_SID_TYPE:  NONE
     
  9. Sol_Ksacap

    Sol_Ksacap Миша

    Публикаций:
    0
    Регистрация:
    6 мар 2008
    Сообщения:
    623
    Хе. Вот это, конечно, более всего любопытно:
    (А что будет, если выставить ему delayed-start?)

    Ну и первым делом нужно было сделать это, но лучше поздно, ага: посмотреть логи событий System и Security (eventvwr.msc – Windows Logs). Есть там что-нибудь по теме?
     
  10. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Sol_Ksacap
    пиши как :)
    в логах ничего по теме :dntknw:
     
  11. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Sol_Ksacap
    кстати PostgreSQL при ручном запуске пишет, что служба не ответила на запрос своевременно
     
  12. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Sol_Ksacap
    PostgeSQL была 8.3 - поставил свежию 8.4 и глюк пропал :)
     
  13. Sol_Ksacap

    Sol_Ksacap Миша

    Публикаций:
    0
    Регистрация:
    6 мар 2008
    Сообщения:
    623
    >_>

    Ты менял же тип запуска уже, не?
    Через "services.msc" или командой "sc config Tomcat start= delayed-auto".
    Если не будет работать, то можешь попробовать запустить его как приложение от имени системной учётки: "psexec -s -i tomcat.exe" – на всякий случай (просто очень странная ситуация).
     
  14. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Sol_Ksacap
    меня сбивал с толку мессажбокс при загрузке, говорящий что Tomcat отказано в доступе :)
    внимательно пригляделся - оказалось, что он бутстапом всё-таки стартует!
    а мессажбокс вылетал из-за его гуи части, котороя выводиться в систрей и показывает
    его состояния и его конфигурирует. извиняюсь за то что ввёл в заблуждение :)
    надо будет в tomcat mail list запостить, что у них под вистой бага.
     
  15. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Сервис под вистой не должен вызывать никаких GUI фунций.
     
  16. Sol_Ksacap

    Sol_Ksacap Миша

    Публикаций:
    0
    Регистрация:
    6 мар 2008
    Сообщения:
    623
    Но, будучи интерактивным, таки может это делать – винда из жалости попросит переключить десктоп:
    Код (Text):
    1. sc create WTF binPath= C:\windows\system32\calc.exe type= own type= interact
    2. net start WTF
    3. REM sc delete WTF
    Как бы то ни было, в данном случае gui выводил не сервис, а юзермодная программа, прописанная в автостарте – с ней и были проблемы.