Использую 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();
}
#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){};
};
#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
TARGET =
include (c:/RAZRAB/QTService/src/qtservice.pri)
DEPENDPATH += . release
INCLUDEPATH += .
# Input
HEADERS += service.h
SOURCES += main.cpp
В общем-то для моей текущей задачи не так важно какая учётная запись, но хочется разобраться я что-то не так делаю или так должно быть.