Net, telepítése Windows szolgáltatás

Bármilyen szolgáltatás konfigurálni kell a registry-ben. Minden szolgáltatás tárolt HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services. Vedd rendszerben lévő bejegyzéseket, lehet keresztül regedit segédprogramot. Információkat tartalmaz a szolgáltatás típusát, a megjelenítési nevét, az elérési utat a futtatható fájl, a konfigurációs stb Ábra például azt mutatja, hogy a rendszer hogyan néz W3SVC szolgáltatás registry konfiguráció:

Net, telepítése Windows szolgáltatás

Az ilyen konfiguráció útján valósíthatjuk osztályú szerelők a névtér System.ServiceProcess.

Ahhoz, hogy hozzá a szolgáltatás telepítőprogram, meg kell váltani, hogy megtekinthesse a vizuális tervező a Visual Studio, és válassza ki az Add Installer klikk menüből (add a telepítő). Az eredmény egy új osztálya ProjectInstaller, valamint az esetekben az osztályok és ServiceInstaller ServiceProcessInstaller.

Installer osztály

ProjectInstaller osztály örökli System.Configuration.Install.Installer. Ez az osztály az alapja a speciális szerelők. A telepítő osztály, akkor létre telepítési eljárásokat tranzakciók alapján. Abban az esetben, sikertelen befejezése egy ilyen eljárás lehetővé válik, görgethető vissza a korábbi állapotba, és megszüntetésével olyan változás, amely után hajtották végre az eljárást.

Belül ProjectInstaller osztály konstruktor hívások InitializeComponent () metódus:

Osztályok ProcessInstaller és ServiceInstaller

A kód végrehajtása InitializeComponent () példányai és ServiceProcessInstaller ServiceInstaller osztályok. Mindkét osztály örököl ComponentInstaller. amely viszont, származik az osztály telepítő.

Osztályok örökölt ComponentInstaller, lehet szabni a telepítési folyamatot. Nem szabad elfelejteni, hogy a szolgáltatási folyamat magában foglalhatja a dob egynél több szolgáltatást. ServiceProcessInstaller osztály lehet használni az alkalmazkodási folyamatot, amelynek feladata értékek meghatározásához az összes elindított ezt a folyamatot szolgáltatások, valamint ServiceInstaller osztály - beállítani minden egyes ilyen szolgáltatások igénybevételére az egyes szolgáltatások külön példányként ServiceInstaller kell alkalmazni. Ha van három szolgáltatás fut a folyamat során ki kell egészíteni, illetve három példányban ServiceInstaller.

Láthatjuk, hogy ServiceProcessInstaller telepít egy programot, amely megvalósítja ServiceBase osztályban. Class ServiceProcessInstaller tulajdonságai tervezték az egész folyamatot. Az alábbiakban egy rövid leírást ezek a tulajdonságok, amelyek hozzáférést kapott minden szolgáltatást a folyamat során:

Nevét adja meg egy felhasználói fiókot kell futtatni abban az esetben a szolgáltatás beállításával az ingatlan a fiók ServiceAccount.User.

Ez lehetővé teszi, hogy meghatározza a szolgáltatás típusát figyelembe.

Ez egy csak olvasható tulajdonság, ami visszaadja a segítséget szöveg a felhasználó nevét és jelszavát.

Eljárás indítására használt szolgáltatást lehet meghatározni az ingatlan kategóriába tartozó ServiceProcessInstaller transzferpufferben Szolgáltatásfiók. Az alábbiakban egy rövid leírást minden érték lehet beállítani a tulajdonságait a számla.

ServiceInstaller - egy osztály, ami szükséges az összes szolgáltatás. Minden szolgáltatás a folyamat támogatja a következő tulajdonságokkal rendelkezik: StartType, DisplayName, SzolgáltatásNév és ServicesDependedOn. Rövid leírása ilyen tulajdonságokkal bír az alábbiakban:

Ha ezt az értéket jelzi, hogy a szolgáltatás használata rendkívül felhasználó- a helyi rendszer, és úgy járnak, mint egy számítógép a hálózaton.

Mint a LocalService, ez az érték azt jelzi, hogy a mandátumát a számítógépes adatok továbbítandó távoli szerverekhez, de ellentétben a helyi rendszer, az azt jelenti, hogy a helyi rendszer szolgáltatás kell nevében a nem privilegizált felhasználói fiókot. Ahogy azt sejteni lehet a neve, ezt az értéket kell használni, csak azon szolgáltatások, amelyek szükségessé teszik a hozzáférést a hálózati erőforrásokhoz.

Ez az érték azt jelzi, hogy a távoli szerver kell nyújtani anonim adatokat, és a szolgáltatás kell a helyi rendszer ugyanazokkal a jogokkal, mint a szolgáltatás NetworkService.

Beállítás ingatlan értékének ServiceAccount.User számla azt jelenti, hogy a felhasználó megadhatja a számla kell használni a szolgáltatást.

StartType tulajdonság jelzi szolgáltatást manuálisan kell elindítani, vagy automatikusan. Lehetséges értékek: ServiceStartMode.Automatic, ServiceStartMode.Manual, ServiceStartMode.Disabled. A telepítés a tulajdonságot ServiceStartMode.Disabled szolgáltatás nem indul el. Ez az opció hasznos lehet ezeket a szolgáltatásokat, amelyek nem kell futtatni a rendszeren. Például, amely az ingatlan Disabled lehet szükség, ha bármely hardver vezérlő nem elérhető.

Ha a tulajdonság nincs beállítva StartType automatikus, ez a tulajdonság figyelmen kívül hagyja. Ez azt jelzi, hogy a szolgáltatás nem indítható után azonnal rendszer elindul, és egy kicsit később. Ez a funkció megjelent a .NET 4 és támogatott kezdve a Windows Vista.

Ez a tulajdonság meghatározza, hogy a kijelző kell nézni felhasználóbarát szolgáltatás nevét. Ez a név jelenik meg a médiában, segítségével ellenőrzik a szolgáltatások és ellenőrzi annak működését.

Ez a tulajdonság meghatározza, hogy hogyan kell nézni az összes szolgáltatás nevét. A értékének meg kell egyeznie az érték ServiceName belül ServiceBase osztályú szolgáltatást programot. Az ő segítségével ServiceInstaller konfiguráció jár a kívánt szolgáltatást programot.

Ez a tulajdonság jelzi, amely a szolgáltatások meg kell kezdeni, mielőtt a szolgáltatás elindul. Hála neki, amikor a szolgáltatás az első automatikus futtatni ezeket a függő szolgáltatásokat, és csak ezután maga a szolgáltatás.

Nevének módosítása a szolgáltatás ServiceBase osztálytól örökölt, és ne felejtsük el, hogy módosítsa a ServiceName ingatlan értéke az objektum ServiceInstaller!

A vizsgálati szakaszban jobb az érték megállapítása érdekében az ingatlan StartType Manual. Aztán, amikor lehetetlen megállítani a szolgáltatást (például, jelenléte miatt a benne a hiba), hogy indítsa újra a rendszer továbbra is beszerezhető. Abban az esetben, berendezések StartType értékek automatikus szolgáltatás automatikusan újraindul, még újraindítás után. Ügyelve arra, hogy a szolgáltatás nem működik megfelelően, az értéke az ingatlan könnyen cserélhetők.

osztály ServiceInstallerDialog

Egy másik csoportját telepítő tér System.ServiceProcess.Design nevek ServiceInstallerDialog. Ez az osztály lehet használni, ha azt szeretnénk, a telepítés során a rendszergazda adjon meg egy felhasználói nevet és jelszót egy fiókot használja azt. Ha az Account osztály ServiceProcessInstaller ingatlan ServiceAccount.User, és a tulajdonságok a felhasználónév és a jelszó - a null, akkor a telepítés során megjelenik Set Service Bejelentkezés párbeszédpanelen (A regisztrációs adatokat a szolgáltatást). Ez az ablak is van lehetőség, hogy megszünteti a telepítési folyamatot.

közüzemi InstallUtil

Hozzáadása után osztályok szerelők a projektben a segédprogram installutil.ehe akkor próbálja telepíteni és eltávolítani a szolgáltatást. Ez az alkalmazás lehetővé teszi, hogy telepíteni összeállítás, amely egy osztály telepítő. A telepítés befejezéséhez okoz módszer Install () osztály örökölt Installer, és törölje a korábban telepített szerelvény - rendre deinstall () metódust.

Parancsokat lehet használni, hogy telepíteni és eltávolítani a szolgáltatás tekinthető például a következőképpen:

Ha a telepítési folyamat nem sikerül, biztos, hogy tekintse át a beállítási naplók és Installutil.InstallLog <имя_службы>.InstallLog. Gyakran előfordul, hogy nem képes érzékelni hasznos információt, mint üzenet: „A megadott szolgáltatás már létezik” ( „A megadott szolgáltatás már létezik”).

Kapcsolódó cikkek