HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Alkalmazások futtatása service-ként



Az Srvany Resource Kit eszköz segítségével bármely alkalmazást szervizként futtathatunk számítógépünkön. Ez azért előnyös, mert kiszolgáló szerepet ellátó alkalmazásunk a rendszerrel együtt indulhat, és függetlenné válik a felhasználói bejelentkezésektől. Cikkünkben az eszköz használatát és a kapcsolódó tudnivalókat ismertetjük.

A Srvany segítségével bármelyik Windows alkalmazást beállíthatjuk úgy, hogy szervizként fusson. Lássuk, hogy mit is jelent ez, ha valami szervizként működik:
  • A kijelentkezéskor nem áll le a működésük, így nem kell elindítani őket belépéskor sem.
  • Szerveralkalmazások kéréseket tudnak kiszolgálni még akkor is, ha senki sincs a gépre bejelentkezve.
  • Egy alkalmazás futhat belépési azonosító segítségével, ami különbözik az aktuális felhasználótól.
Bármikor, ha szolgáltatásként indítunk valamit, néhány alkalmazás is kilép, amikor a felhasználó kilép. Ez történik akkor, ha az alkalmazás nem veti el a WM_ENDSESSION üzenetet (vagy a CTRL_LOGOFF_EVENT-et).
Az Srvany legjobban a 32-bites alkalmazásokkal dolgozik együtt, amelyek Windows 2000 vagy NT számára íródtak. Használhatjuk ezt az eszközt arra is, hogy 16-bites Windows alkalmazásokat indítsunk szolgáltatásként, de néhány ilyen alkalmazás nem marad életben, amikor egy felhasználó kilép a gépből.
Minden Srvany szolgáltatás ki fog kapcsolódni, amikor telepítünk, vagy frissítünk operációs rendszert vagy alkalmazást.
Az Srvany telepítése
Az alábbi command prompt paranccsal tudjuk telepíteni az Srvany eszközt:
instsrv szerviznev c:\ut\srvany.exe
A szerviznév jelenti azt a nevet, amely név alatt a szolgáltatás működni fog. Emellett használhatjuk még a Szolgáltatás telepítő-varázslót is a szerviz telepítéséhez. (Srvinstw). Mindkét eszköz használatához rendszergazdai jogosultság szükséges. Az Srvany több példányban telepíthető más-más helyről, más-más név alatt, így több saját alkalmazást tudunk szolgáltatássá előléptetni.
Miután feltelepítettük a szolgáltatást, nyissuk meg a Szolgáltatások ablakot és válasszuk ki a telepített szolgáltatást, majd nyissuk meg a tulajdonságlapját. Itt az általános lapon az indítás típusát állítsuk be automatikusra vagy kézire. A bejelentkezési információk ablakon adjuk meg, hogy melyik azonosító nevében fusson a program. Választhatjuk a helyi rendszerazonosítót, de bármely másik account-ot is. A rendszerazonosítónak viszont nem lesz hozzáférése a hálózathoz. Ha azt szeretnénk, hogy elérje a szolgáltatás az asztalt és a billentyűzetet, akkor a helyi rendszerazonosító választása mellett az alatta lévő checkbox-ot is be kell kapcsolnunk, ami ezeket a funkciókat engedélyezi a számára.
Ahhoz, hogy egy alkalmazást szolgáltatásként futtassunk, meg kell adnunk a bemenő paramétereket és a munkakönyvtárat közvetlenül a registry-ben.


Indítsuk el a regedt32 programot.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Szolgaltatasnev]
A szolgáltatás megadásához elsőként a fenti kulcs alá hozzunk létre egy Parameters kulcsot.
Hozzunk létre egy Application nevű REG_SZ típusú bejegyzést. Az értéke legyen a szolgáltatás teljes elérési útja, plusz a fájl neve kiterjesztéssel.
Ha induló paramétert szeretnénk megadni, akkor a Parameters kulcs alatt hozzunk létre egy AppParameters REG_SZ bejegyzést, és adjuk meg tartalmának a paraméterek értékét.
Ez utóbbi lépést úgy is elvégezhetjük, ha a szolgáltatások között a kiválasztott szolgáltatás általános tulajdonságlapján megadjuk a teljes elérési úttal a szolgáltatást és a paramétereket is. Itt dupla backslash-t kell használnunk a könyvtárnevekhez, pl.:
C:\\Tools\\Sajatsrv.exe C:\\TMP\\Sajatsrv
Ha környezeti változót szeretnénk megadni a szolgáltatáshoz, akkor a registry-ben a szolgáltatás Parameters kulcsa alatt hozzunk létre egy AppEnvironment nevű REG_MULTI_SZ típusú kulcsot. Ezen belül adjunk meg minden szükséges környezeti változót sortöréssel elválasztva. A szolgáltatás indításakor a környezeti változók elérhetők lesznek.
A munkakönyvtár megadásához a Parameters kulcs alatt készítsünk egy AppDirectory REG_SZ kulcsot és értékének adjuk meg a munkakönyvtár útját. Ugyanezt elvégezhetjük a szolgáltatás általános tulajdonságlapján, ha az indítási paramétereket egy /D kapcsolóval egészítjük ki:
/D C:\\TMP C:\\Tools\\Sajatsrv.exe C:\\TMP\\Sajatsrv
Eltávolítás
Egy meglévő Srvany szolgáltatás eltávolítását úgy végezhetjük el, ha először leállítjuk a futását, ezután pedig futtatjuk az alábbi parancsot:
instsrv szerviznev remove
Egyéb tudnivalók
  • Ha más nevében indítjuk szolgáltatásunkat, mint aki éppen aktuálisan bejelentkezve van, előfordulhat, hogy más környezeti változók tartoznak az azonosítóhoz, és ennek kapcsán nem ér el dll fájlokat a szolgáltatás.
  • Ha meg akarjuk engedni, hogy egy LocalSystem szolgáltatás a tartomány bármely gépén kapcsolódni tudjon egy szerver meghatározott megosztásához, adjuk meg a megosztás nevét a következő helyen:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\NullSessionShares]
  • Ha a LocalSystem szolgáltatásnak szüksége van meghatározott named pipe elérésére a szerveren, akkor adjuk meg a csatorna nevét a következő helyen:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\NullSessionPipes]
  • Ha elérést akarunk adni minden megosztáshoz és csatornához a szerveren a LocalSystem szolgáltatás számára, akkor vegyük fel a következő RestrictNullSessAccess bejegyzést, DWORD típusú, 0 értékű adattal:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\RestrictNullSessAccess]
Ha a registry-ben ezt az utóbbit állítjuk be, akkor ezzel bárki elérheti a szervert a tartományból.

Könyv
Ez a cikk megtalálható ebben a könyvben: Windows Software Offline 2003 évkönyv 465. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |