Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.23;
Скачать: CL | DM;

Вниз

Сервисы в Delphi   Найти похожие ветки 

 
zdn ©   (2003-10-09 20:49) [0]

Мастера! ПОдскажите, пожалуйста, как проинсталить сервис на удаленной машине?
Заранее благодарен.


 
clickmaker ©   (2003-10-09 20:52) [1]

hMan := OpenSCManager(<имя компутера>, ...);
CreateService(hMan, ...);


 
zdn ©   (2003-10-09 20:58) [2]


> clickmaker © (09.10.03 20:52) [1]
> hMan := OpenSCManager(<имя компутера>, ...);
> CreateService(hMan, ...);

Еще раз спасибо за прошлые ответы!
Но тут сервис уже есть, приславутый srv.exe.
Он находится на серваке, нужно ЕГО проинсталить
на машине клиента. С правами все вроде нормально.


 
Кулюкин Олег ©   (2003-10-10 08:42) [3]

А может воспользоваться программой по производству дистрибутивов?
В них вроде есть возможность регистрировать сервисы.

Или недо проинсталить его так, чтобы клиент не знал?


 
zdn ©   (2003-10-10 10:39) [4]


> Кулюкин Олег © (10.10.03 08:42) [3]
> А может воспользоваться программой по производству дистрибутивов?
> В них вроде есть возможность регистрировать сервисы.
>
> Или недо проинсталить его так, чтобы клиент не знал?

АГА, дело в том что пользователь, например, бухгалтер
просто кроме своих кнопок на клаве ничего не хочет знать.
И он не обрадуется тому, что необходимо что то там нажимать даже
в хорошо настроенном дистрибутиве.


 
Кулюкин Олег ©   (2003-10-10 10:45) [5]


> АГА, дело в том что пользователь, например, бухгалтер
> просто кроме своих кнопок на клаве ничего не хочет знать.

Жуть!
А если просто копировать сервис к нему, а в реестр прописывать то, что прописывается на Вашей машине при установке сервиса.
Как писать в реестр на удаленной машине средствами Дельфи я не знаю :)


 
zdn ©   (2003-10-10 10:48) [6]


> Жуть!
> А если просто копировать сервис к нему, а в реестр прописывать
> то, что прописывается на Вашей машине при установке сервиса.
> Как писать в реестр на удаленной машине средствами Дельфи
> я не знаю :)


Так надо иметь доступ к диску, если там стоит винда 2000
то надо бегать по всем машинам и давать доступ, а это не наш метод.


 
zdn ©   (2003-10-10 11:08) [7]

Всем спасибо, закрываем тему!!!!


 
Кулюкин Олег ©   (2003-10-10 11:23) [8]


> Всем спасибо, закрываем тему!!!!

Найден ответ?


 
zdn ©   (2003-10-10 16:05) [9]


> > Всем спасибо, закрываем тему!!!!
>
> Найден ответ?

Немного изменилось задание!!!
А вооще подсказали следующее, может пригодится:

На удаленной машине - надо иметь возможность запуска файлов на удаленной машине (Terminal Server), программно никак. Иначе бы уже вирсусов существовало, мама не горюй.

Когда доступ по Terminal Server"у к удаленной машине получишь, то если сервис на Delphi писан, то запусти exe-шник с параметром /install. Опционально /silent.

Если нет - то RTFM WinAPI :), приблизительно так:

procedure RegisterDaemon(const ServiceName, ServiceDisplayName, StartParams:
String);
var
SvcMgr: SC_HANDLE;
Svc: SC_HANDLE;
Path: string;
begin
{ open win32 service manager }
SvcMgr := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
if SvcMgr = 0 then RaiseLastOSError;
{ install service }
try
Path := """ + ParamStr(0) + """;
if Length(StartParams) > 0 then
Path := Path + " " + StartParams;
Svc := CreateService(SvcMgr, PChar(ServiceName),
PChar(ServiceDisplayName),
SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS or
SERVICE_INTERACTIVE_PROCESS,
SERVICE_AUTO_START, SERVICE_ERROR_NORMAL, PChar(Path), nil,
nil, nil, nil, nil);
if Svc = 0 then RaiseLastOSError;
CloseServiceHandle(Svc);
finally
CloseServiceHandle(SvcMgr);
end;
end;


Честно пока не применил, да уже и надобности нет.



Страницы: 1 вся ветка

Текущий архив: 2003.10.23;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.019 c
7-74489
` frizZ. `
2003-08-09 02:54
2003.10.23
Microphone ;))


3-74003
SergeyNew
2003-09-30 16:08
2003.10.23
dbt файл


3-74083
Lamerr
2003-10-01 14:49
2003.10.23
Теория. Инструментарий для создания интернетовской базы данных.


14-74466
Zhouck
2003-10-03 14:16
2003.10.23
Fast Report


14-74450
sagchat
2003-10-06 17:46
2003.10.23
Кто из Москвы ответьте