есть легальное приложение, которое должно работать в качестве сервиса в висте. в XP всё нормально работает, а в висте пишет "отказано в доступе". если запускать не сервисом, а консольно(под простым юзером) - работает нормально. что-где подправить можно?
Partner сетевая служба, если точнее уже две: Tomcat и PostgreSQL. Sol_Ksacap да и я про тоже при входе в систему, пишет приложению томкат отказано в доступе. вручную в сервисах запускается, но потом не останавливается. а PostgreSQL запускается исключительно только консольно
Tomcat сейчас начал свободно запускаться и останавливаться в ручную в сервисах. но бутстапом не хочет - пишет приложению томкат отказано в доступе а PostgreSQL запускается исключительно только консольно
Sol_Ksacap да и привилегии может не нужны, в консоли стартует из-под ограниченного юзера. где-то у меня скрипт был, отключающий UAC, но это не понравиться тому, кому я это ставить собрался. может можно как-нибудь какой-то манифест присобачить?
Хм. Не, UAC вряд ли замешан. Разве что косвенно. Может быть, какая-нибудь гречиха с правами доступа? Например, для пользователя, от имени которого запускается служба, выставлены отказные права на какой-нибудь файл, необходимый для запуска? Это не объясняет поведение Tomcat хотя. Нужно посмотреть вывод команд "sc qc Tomcat", "sc qprivs Tomcat", "sc qsidtype Tomcat". То же для PostgreSQL. (Если не подойдут эти имена сервисов, поискать подходящие можно в "HKLM\SYSTEM\CurrentControlSet\Services"). Вообще, выложи сюда вывод этих команд. Затем проверить, что используемые пользователи или их группы имеют доступ к директориям: здесь просто попробовать запустить PostgreSQL от имени пользователя, указанного в конфиге сервиса – например с помощью "psexec" из SysinternalsSuite.
Sol_Ksacap tomcat Код (Text): C:\MySQL5.1\bin>sc qc Tomcat6 [SC] QueryServiceConfig: успех Имя_службы: Tomcat6 Тип : 10 WIN32_OWN_PROCESS Тип_запуска : 3 DEMAND_START Управление_ошибками : 1 NORMAL Имя_двоичного_файла : "F:\ServerJ\Tomcat6\Tomcat 6.0\bin\tomcat6.exe" / /RS//Tomcat6 Группа_запуска : Тег : 0 Выводимое_имя : Apache Tomcat 6 Зависимости : Начальное_имя_службы : LocalSystem C:\MySQL5.1\bin>sc qprivs Tomcat6 [SC] QueryServiceConfig2: успех SERVICE_NAME: Tomcat6 PRIVILEGES : C:\MySQL5.1\bin>sc qsidtype Tomcat6 [SC] QueryServiceConfig2: успех SERVICE_NAME: Tomcat6 SERVICE_SID_TYPE: NONE postgresql Код (Text): C:\MySQL5.1\bin>sc qc postgresql-8.3 [SC] QueryServiceConfig: успех Имя_службы: postgresql-8.3 Тип : 10 WIN32_OWN_PROCESS Тип_запуска : 3 DEMAND_START Управление_ошибками : 1 NORMAL Имя_двоичного_файла : C:/PostgreSQL/8.3/bin/pg_ctl.exe runservice -N " ostgresql-8.3" -D "C:/PostgreSQL/8.3/data" -w Группа_запуска : Тег : 0 Выводимое_имя : PostgreSQL Server 8.3 Зависимости : RPCSS Начальное_имя_службы : .\postgres C:\MySQL5.1\bin>sc qprivs postgresql-8.3 [SC] QueryServiceConfig2: успех SERVICE_NAME: postgresql-8.3 PRIVILEGES : C:\MySQL5.1\bin>sc qsidtype postgresql-8.3 [SC] QueryServiceConfig2: успех SERVICE_NAME: postgresql-8.3 SERVICE_SID_TYPE: NONE
Хе. Вот это, конечно, более всего любопытно: (А что будет, если выставить ему delayed-start?) Ну и первым делом нужно было сделать это, но лучше поздно, ага: посмотреть логи событий System и Security (eventvwr.msc – Windows Logs). Есть там что-нибудь по теме?
>_> Ты менял же тип запуска уже, не? Через "services.msc" или командой "sc config Tomcat start= delayed-auto". Если не будет работать, то можешь попробовать запустить его как приложение от имени системной учётки: "psexec -s -i tomcat.exe" – на всякий случай (просто очень странная ситуация).
Sol_Ksacap меня сбивал с толку мессажбокс при загрузке, говорящий что Tomcat отказано в доступе внимательно пригляделся - оказалось, что он бутстапом всё-таки стартует! а мессажбокс вылетал из-за его гуи части, котороя выводиться в систрей и показывает его состояния и его конфигурирует. извиняюсь за то что ввёл в заблуждение надо будет в tomcat mail list запостить, что у них под вистой бага.
Но, будучи интерактивным, таки может это делать – винда из жалости попросит переключить десктоп: Код (Text): sc create WTF binPath= C:\windows\system32\calc.exe type= own type= interact net start WTF REM sc delete WTF Как бы то ни было, в данном случае gui выводил не сервис, а юзермодная программа, прописанная в автостарте – с ней и были проблемы.