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

Discussion in 'WASM.SOFTWARE' started by wsd, Jul 23, 2009.

  1. wsd

    wsd New Member

    Blog Posts:
    0
    Joined:
    Aug 8, 2007
    Messages:
    2,824
    есть легальное приложение, которое должно работать в качестве сервиса в висте.
    в XP всё нормально работает, а в висте пишет "отказано в доступе".
    если запускать не сервисом, а консольно(под простым юзером) - работает нормально.
    что-где подправить можно?
     
  2. Partner

    Partner Павел

    Blog Posts:
    0
    Joined:
    Feb 28, 2008
    Messages:
    917
    Location:
    Los Angeles
    Приложение интерактивное?
     
  3. Sol_Ksacap

    Sol_Ksacap Миша

    Blog Posts:
    0
    Joined:
    Mar 6, 2008
    Messages:
    623
    Что это пишет? Может быть, опять UAC настроен против тебя?
     
  4. wsd

    wsd New Member

    Blog Posts:
    0
    Joined:
    Aug 8, 2007
    Messages:
    2,824
    Partner
    сетевая служба, если точнее уже две: Tomcat и PostgreSQL.
    Sol_Ksacap
    да и я про тоже :) при входе в систему, пишет приложению томкат отказано в доступе.
    вручную в сервисах запускается, но потом не останавливается.
    а PostgreSQL запускается исключительно только консольно :dntknw:
     
  5. wsd

    wsd New Member

    Blog Posts:
    0
    Joined:
    Aug 8, 2007
    Messages:
    2,824
    Tomcat сейчас начал свободно запускаться и останавливаться в ручную в сервисах.
    но бутстапом не хочет - пишет приложению томкат отказано в доступе
    а PostgreSQL запускается исключительно только консольно :dntknw:
     
  6. wsd

    wsd New Member

    Blog Posts:
    0
    Joined:
    Aug 8, 2007
    Messages:
    2,824
    Sol_Ksacap
    да и привилегии может не нужны, в консоли стартует из-под ограниченного юзера.
    где-то у меня скрипт был, отключающий UAC, но это не понравиться тому, кому я это
    ставить собрался. может можно как-нибудь какой-то манифест присобачить?
     
  7. Sol_Ksacap

    Sol_Ksacap Миша

    Blog Posts:
    0
    Joined:
    Mar 6, 2008
    Messages:
    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

    Blog Posts:
    0
    Joined:
    Aug 8, 2007
    Messages:
    2,824
    Sol_Ksacap
    tomcat
    Code (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
    Code (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 Миша

    Blog Posts:
    0
    Joined:
    Mar 6, 2008
    Messages:
    623
    Хе. Вот это, конечно, более всего любопытно:
    (А что будет, если выставить ему delayed-start?)

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

    wsd New Member

    Blog Posts:
    0
    Joined:
    Aug 8, 2007
    Messages:
    2,824
    Sol_Ksacap
    пиши как :)
    в логах ничего по теме :dntknw:
     
  11. wsd

    wsd New Member

    Blog Posts:
    0
    Joined:
    Aug 8, 2007
    Messages:
    2,824
    Sol_Ksacap
    кстати PostgreSQL при ручном запуске пишет, что служба не ответила на запрос своевременно
     
  12. wsd

    wsd New Member

    Blog Posts:
    0
    Joined:
    Aug 8, 2007
    Messages:
    2,824
    Sol_Ksacap
    PostgeSQL была 8.3 - поставил свежию 8.4 и глюк пропал :)
     
  13. Sol_Ksacap

    Sol_Ksacap Миша

    Blog Posts:
    0
    Joined:
    Mar 6, 2008
    Messages:
    623
    >_>

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

    wsd New Member

    Blog Posts:
    0
    Joined:
    Aug 8, 2007
    Messages:
    2,824
    Sol_Ksacap
    меня сбивал с толку мессажбокс при загрузке, говорящий что Tomcat отказано в доступе :)
    внимательно пригляделся - оказалось, что он бутстапом всё-таки стартует!
    а мессажбокс вылетал из-за его гуи части, котороя выводиться в систрей и показывает
    его состояния и его конфигурирует. извиняюсь за то что ввёл в заблуждение :)
    надо будет в tomcat mail list запостить, что у них под вистой бага.
     
  15. Partner

    Partner Павел

    Blog Posts:
    0
    Joined:
    Feb 28, 2008
    Messages:
    917
    Location:
    Los Angeles
    Сервис под вистой не должен вызывать никаких GUI фунций.
     
  16. Sol_Ksacap

    Sol_Ksacap Миша

    Blog Posts:
    0
    Joined:
    Mar 6, 2008
    Messages:
    623
    Но, будучи интерактивным, таки может это делать – винда из жалости попросит переключить десктоп:
    Code (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 выводил не сервис, а юзермодная программа, прописанная в автостарте – с ней и были проблемы.