Utworzyłem sobie usługę dla Windows. Zadaniem usługi jest uruchomienie innego procesu w tle. Działa wspaniale.
Potrzebuję uruchomić drugą instancję tej usługi. Pojawił się problem bo taka usługa już istnieje w Windows.
Usługa instaluje się pod określoną nazwą, której nie można zmienić podczas instalacji kolejnej instancji usługi.
Znalazłem funkcję ChangeName, która pozwala dynamicznie podczas instalacji serwisu nadać określoną nazwę usłudze. Nowa usługa instaluje się poprawnie. Nazwę usługi nadaję w zdarzeniu:
KOD cpp: • UKRYJ •
void __fastcall TService1::ServiceBeforeInstall(TService *Sender)
{
Service1->ChangeName(moja_nazwa_uslugi); //mogę przekazać wartość dla zmiennej moja_nazwa_uslugi w ParamStr(2) podczas instalacji
}
{
Service1->ChangeName(moja_nazwa_uslugi); //mogę przekazać wartość dla zmiennej moja_nazwa_uslugi w ParamStr(2) podczas instalacji
}
Jednak tak zainstalowana usługa ze zmieniona nazwę nie uruchamia.
Podejrzewam, że zmiana nazwy serwisu w moim wykonaniu nie jest do końca poprawna.
Jak zatem można zainstalować kolejną instancję usługi?
Lub
Jak uruchomić usługę ze zmienioną nazwą?