Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ Проблема с запуском сервиса (qtservice)

Автор: zerling 10.6.2009, 10:29

Добрый день.
Использую qtservice 2.6 opensource под Windows XP, QT 4.3.4.

В общем проблема такая: сервис отказывается запускаться если вход в систему настроен "с системной учётной записью" и пишет ошибку 1053:Служба не ответила на запрос своевременно.
Если настроить чтоб входил с моей рабочей учётной записью то сервис стартует нормально.

Код писал "на коленке" чтоб бысто посмотреть как оно работает.

main.cpp

CODE
#include <QtCore>
#include "service.h"
int main(int argc, char **argv)
{
QString name("MyService1");
MyService service(argc, argv,name);
return service.exec();
}

service.h
CODE
#include <QtService.h>
#include <QtCore>
class MyService : public QtService<QCoreApplication>

{
public:
MyService(int argc, char **argv, const QString&name):QtService<QCoreApplication>(argc, argv, name)
{
setServiceDescription("A service implemented with Qt");
setServiceFlags(QtServiceBase::Default);
};
~MyService(){};

protected:
void start(){};
void stop(){};
void pause(){};
void resume(){};
void processCommand(int code){};
};

testservice.pro
CODE
TEMPLATE = app
TARGET =
include (c:/RAZRAB/QTService/src/qtservice.pri)
DEPENDPATH += . release
INCLUDEPATH += .

# Input
HEADERS += service.h
SOURCES += main.cpp


В общем-то для моей текущей задачи не так важно какая учётная запись, но хочется разобраться я что-то не так делаю или так должно быть.

Автор: ViGOur 10.6.2009, 11:03

А сервис у тебя проинстален?

Вот прочитай, может чего неправильно делаешь и поможет: http://doc.trolltech.com/solutions/qtservice/qtservice-example-interactive.html#x6

Автор: Litkevich Yuriy 10.6.2009, 11:24

zerling, я свой не пробовал делать. Но со штатным примером у меня проблем не было.
Службу устанавливал залогинившись под админом.

Автор: zerling 10.6.2009, 12:13

Из под Админа переставил - помогло!!
Привык просто что всё из-под пользователся ставится нормально и даже не подумал о админе..

Автор: nzy 28.4.2010, 4:28

Цитата(zerling @ 10.6.2009, 12:13) *
Из под Админа переставил - помогло!!
Привык просто что всё из-под пользователся ставится нормально и даже не подумал о админе..



Нужно скопировать qt*.dll, используемые сервисом в папку .exe. Или на крайний случай в windows/system32. Так как сервис запускается по системной учетной записью, а для неё системная среда немного другая (пути не выставлены, непример).

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)