Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 Установка сервиса, событие BeforeInstall  [new]
vibondarenko
Member

Откуда:
Сообщений: 11
Есть такое событие у сервиса, BeforeInstall.
В этом событии я считываю имя пользователя и пароль из файла настроек для того, чтобы сервис запускался от имени определенного пользователя.
Так вот, если по какой либо причине не прочитался файл настроек, то нужно отменять установку сервиса и записать в лог это.
Возможно ли отменить установку сервиса?
12 май 18, 20:53    [21405520]     Ответить | Цитировать Сообщить модератору
 Re: Установка сервиса, событие BeforeInstall  [new]
alekcvp
Member

Откуда:
Сообщений: 1205
vibondarenko,

Можно попробовать там raise Exception сделать или Abort. Но точнее надо смотреть в исходники.
12 май 18, 21:16    [21405561]     Ответить | Цитировать Сообщить модератору
 Re: Установка сервиса, событие BeforeInstall  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 2969
vibondarenko,

Можно прерывание сделать до befireinstall. Прямо в dpr. Сервис запускается с ключом /install, если идёт инсталляция, далее анализируем доступность файла и если недоступен, журналируем и, не вызывая Application.Run, останавливаем работу.
Надёжнее юзер/пасс передавать в параметрах инсталляции, к слову. Я у себя так и делаю.

 if InParams('/install') and (ParamCount = 3) then
 begin
  Serivece1.ServiceStartName := ParamStr(2);
  Serivece1.Password := ParamStr(3);
 end;
13 май 18, 09:58    [21406086]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить