Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Службы


Автор: AS-Web 23.2.2005, 20:02
Помогите, плз. Работаю над службой. Вроде exeшник канает, но по команде project2.exe /install не инсталлится. smile

Автор: NiJazz 23.2.2005, 20:45
Что значит не инсталлится? Код выложи.

Автор: Pakshin A. S. 23.2.2005, 20:46
Как тама говорится... "ошибка в 17-ой строке..." smile

Автор: Александра 24.2.2005, 00:02
AS-Web
CreateService возврашает следушие значения:

Цитата
ERROR_ACCESS_DENIED The handle to the SCM database does not have the SC_MANAGER_CREATE_SERVICE access right.
ERROR_CIRCULAR_DEPENDENCY A circular service dependency was specified.
ERROR_DUPLICATE_SERVICE_NAME The display name already exists in the service control manager database either as a service name or as another display name. ERROR_INVALID_HANDLE The handle to the specified service control manager database is invalid.
ERROR_INVALID_NAME The specified service name is invalid.
ERROR_INVALID_PARAMETER A parameter that was specified is invalid.
ERROR_INVALID_SERVICE_ACCOUNT The user account name specified in the lpServiceStartName parameter does not exist.
ERROR_SERVICE_EXISTS The specified service already exists in this database.


сам посмотри почему не устанавливается...

Автор: AS-Web 24.2.2005, 06:34
А где эти возвратные коды ошибок смотреть? Он же ошибок как таковых не выдаёт, простов в Адмсинистрирование->Службы не появляется.
2NiJazz: А код про что выкладывать?

Автор: legwar 24.2.2005, 12:01
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/createservice.asp
Читаем тут и создаем сервис

Автор: Александра 24.2.2005, 12:42
у меня сложилось впечатление, что автор предпологает, что сервис сам установится, если ему передать параметр /install

Автор: SoWa 24.2.2005, 16:31
Понимаешь, legwar, он уже создал сервис.
Александра, Все даже работает, по этой команде сервис запускается(AS мне так сказал), но не инсталится куда-то(в Панели управления)... Вот и пойми его! smile

Автор: Александра 24.2.2005, 16:52
SoWa
В панель упрвления? Это вообше отдельная тема! короче он сам не знает, что хочет имхо...

Автор: SoWa 24.2.2005, 17:33
Я тоже так думаю... smile

Автор: legwar 24.2.2005, 18:03
Создание аплетов в панель управления совсем другой вопрос

Автор: AS-Web 24.2.2005, 18:24
А у меня создаётся впечатление, что SoWa меня неправильно слушал smile... Ибо он сам с сервисами не работал, то не знает, что я с панелью управления никаким боком не общался. Я лез в Администрирование->Службы.
2Александра
У моих знакомых сервис ставился после /install. И в Help`е дельфёфском так и написано

Автор: Александра 24.2.2005, 23:43
AS-Web
дык ето надо код для этого написать....

Автор: Александра 25.2.2005, 00:04
а где такой пример в справке????

Автор: NiJazz 25.2.2005, 13:55
Ошибка в чём заключается? Служба не появляется в списке диспетчера служб? Или она не стартует?

Автор: AS-Web 25.2.2005, 17:04
Пока служба не будет зарегана, она не запустится. ПРи компиляции она запускается и тут же выгружается
Добавлено @ 17:13
Вот этот текст:
Цитата
Once you have created a service application, you will see a window in the designer that corresponds to a service (TService). Implement the service by setting its properties and event handlers in the Object Inspector. You can add additional services to your service application by choosing Service from the new items dialog. Do not add services to an application that is not a service application. While a TService object can be added, the application will not generate the requisite events or make the appropriate Windows calls on behalf of the service.

Once your service application is built, you can install its services with the Service Control Manager (SCM). Other applications can then launch your services by sending requests to the SCM.
To install your application’s services, run it using the /INSTALL option. The application installs its services and exits, giving a confirmation message if the services are successfully installed. You can suppress the confirmation message by running the service application using the /SILENT option.

To uninstall the services, run it from the command line using the /UNINSTALL option. (You can also use the /SILENT option to suppress the confirmation message when uninstalling).
smile Это из Writing Applications->Service Applications

Автор: NiJazz 25.2.2005, 18:07
AS-Web
Ёкарный малахай!
Чего вы тут демагогию устроили? Ты можешь сказать, где у тебя ошибка?

Автор: Александра 25.2.2005, 23:32
NiJazz
да он просто не написал регистрацию, вот и все

Автор: Girder 26.2.2005, 00:32
Цитата(AS @ 23.2.2005, 20:02)
по команде project2.exe /install не инсталлится.
Надо правильно заполнять поля(имя сервиса,параметры запуска сервиса, имя и пароль пользователя).
Мне лень объяснять подробно, т.ч. вот возми енту процедуру и подцепи её на OnCreate.
Код
procedure TService1.ServiceCreate(Sender: TObject);
begin
//ServiceType:=stWin32;
DisplayName:='Мой первый сервис! А...а...а!'; //Данную фигню можно будет увидеть в "Администрирование->Службы" только для  ServiceType:=stWin32;
Password:='';
LoadGroup:='';
if ServiceType<>stWin32 then ServiceStartName:='DriverXXX' else ServiceStartName:='';
end;

Удачи.

Автор: AS-Web 26.2.2005, 07:35
Thanks, Girder

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)