Форум: "Основная";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];
ВнизСервисы в 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.01 c