View Łukasz Herman's LinkedIn profileView my profile

statystyki www stat.pl

Blog > Komentarze do wpisu

Jak uruchomić program jako usługę?

Do uruchomienia programu jako usługi posłużymy się programami instsrv.exe (instalator usług) oraz srvany.exe (aplikacja uruchamiająca usługi), które znajdują się w Windows Resource Kit Tools.

Po instalacji Resource Kit Tools dla wygody przekopiowujemy pliki srvany.exe i instsrv.exe z C:/Program files/Windows Resource Kits/tools/ (przy domyślnej instalacji) do katalogu %systemroot%/system32/, dzięki czemu będziemy mogli łatwiej odwoływać się do wyżej wymienionych aplikacji poprzez samą nazwę, nie musząc za każdym razem podawać pełnej ścieżki do katalogu Resource Kita, oraz w razie usunięcia RK Tools dobrze jest mieć zachowane te dwa pliki w bezpiecznym miejscu.

W kolejnym etapie możemy przejść do instalowania programu jako usługi. W tym celu otwieramy wiersz poleceń (cmd.exe) i korzystając z instalatora usług wpisujemy:

instsrv service_name %systemroot%/system32/srvany.exe

Powinniśmy dostać komunikat że usługa została pomyślnie zainstalowana.

The service was successfuly added!
Make sure that you go into the Control Panel and use the Services applet to change the Account Name and Password that this newly installed service will use for its Security Context.

Jeżeli nie podamy dokładnej ścieżki dla aplikacji uruchamiającej usługi - srvany.exe, otrzymamy komunikat błędu:

- The fully qualified path to the .EXE must be given

Teraz przechodzimy do konfigurowania usług. W tym celu włączamy Panel Sterowania (Control Panel) - Narzędzia administracyjne (Administrative Tools) - Usługi (Services), lub Start - Uruchom... (Run...) services.msc. Na liście usług odszukujemy zainstalowaną przez nas usługę (service_name), we właściwościach usługi upewniamy się, że ustawiony jest typ uruchamiania na Automatyczny (Automatic) - domyślnie tak jest.

Jeżeli aplikacja ma współdziałać z pulpitem (tzn. ma być widoczna na pulpicie lub jego elemencie) musimy we właściwościach usługi (w przystawce services.msc) na karcie Logowanie (Log on) zaznaczyć "Zezwalaj usłudze na współdziałanie z pulpitem" (Allow service to interact with desktop). W przeciwnym wypadku usługa będzie niewidoczna dla użytkownika.

Services

Następnie uruchamiamy edytor rejestru (regedit.exe) i w gałęzi HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Services (w tym kluczu znajdują się wszystkie zainstalowane usługi) odnajdujemy klucz service_name, w którym tworzymy nowy klucz o nazwie Parameters i dodajemy do niego Wartość ciągu (String Value) o nazwie "AppDirectory" w której podajemy ścieżkę do programu (Np. C:\Program Files\My_application - zależnie gdzie znajduje się aplikacja, którą zamierzamy uruchomić jako usługę. Musimy dodać jeszcze jedną Wartość ciągu (String Value) o nazwie "Application" w której podajemy ścieżkę do pliku wykonywalnego (np. C:\Program Files\My_application\application.exe).

parameters

Po tych czynnościach usługa będzie się ładowna podczas wyświetlana ekranu Uruchamianie systemu Windows. Pasek postępu przedstawia ładowanie usług, których typ uruchamiania został ustawiony na automatyczny.

Aby odinstalować usługę w wierszu poleceń wpisujemy:

instsrv service_name remove

sobota, 21 stycznia 2006, hermanluk

Polecane wpisy

  • PowerShell - początki

    Rozpoczęcie pracy z PowerShellem nie jest moim zdaniem proste. Przynajmniej ja miałem duży problem zanim zrozumiałem jak to mniej więcej działa. Najważniejszą i

  • Harmonogram zadań przez GPO - brak uprawnień

    Jakiś czas temu wymyśliłem sobie, ża fajnie by było, gdyby wszystkie zaplanowane zadania, takie jak na przykład backup, konfigurowane były z jednego centralnego

  • Jak tuningować Win2k8

    Nie, nie napiszę jak uruchomić Aero (a da się), ale coś, co bardziej może zainteresować administratorów od strony technicznej Windows Server 2008. Czyli co jesz

TrackBack
TrackBack w tym blogu jest moderowany. TrackBack URL do wpisu:
Komentarze
Gość: Robert, *.adsl.inetia.pl
2012/10/02 23:14:33
A da się inaczej?
Bo np antywirusy się instalują jako usługi bez tych plików :]