Alterar ServiceStartName

11/08/2004

14

Ae galera, seguinte:

Necessito fazer com q dois Serviços iguais funcionem na mesma maquina, mas ele me dá um erro dizendo que já existe um serviço com esse mesmo nome.

Já alterei o ServiceStartName através de um INI e ai ele me fala q o nome da conta é inválido, inexistente ou a senha não é válida para a conta especificada.

Sei q por padrão ele cria o nome conforme as configurações do usuário logado.

Alguém poderia me dar uma luz de como corrigir esse problema??

Obrigado, Evandro


Responder

Posts

11/08/2004

Evandro_covre

Bom Galera hehehe resolvi o problema

Para quem desejar saber como proceder é o seguinte:

No Evento BeforeInstall é necessário alterar as propriedades NAME e DISPLAYNAME do Serviço

Ficando como no exemplo abaixo:

procedure TOpera.ServiceBeforeInstall(Sender: TService);
begin
Self.Name := ´TESTE´;
Self.DisplayName:= ´TESTE´;
end;

Ai se desejar é só ler de algum INI esse nome e Boa!!! é só rodar, hehehehe

Aquele abraço, Evandro


Responder

22/11/2016

Fockink Ltda

Estou com o mesmo problema, porém não consigo mudar o 'Self.Name'.
O 'Self.DisplayName' estou conseguindo alterar, vc fez alguma outra configuração ?
Responder

13/09/2019

Alvaro Vieira

Não sei se antigamente essa instrução funcionava, mas agora o que resolveu mesmo foi ler um parâmetro no OnCreate

procedure TMyService.ServiceCreate(Sender: TObject);
begin
  if (System.ParamCount >= 1) and not CharInSet(ParamStr(1)[1], SwitchChars) then
    Name := ParamStr(1);
end;


Assim você pode utilizar os seguintes comandos para criar os serviços (os espaços após o = são necessários):
sc create myservice1 binpath= "c:\MyService\ServiceApp.exe myservice1" displayname= "Serviço 1"

sc create myservice2 binpath= "c:\MyService\ServiceApp.exe myservice2" displayname= "Serviço 2"


Observe que o padrão
c:\MyService\ServiceApp.exe -install
não vai funcionar.

Leia mais em https://stackoverflow.com/questions/18599201/service-does-not-start
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar