ServiceInstall tábla
A ServiceInstall tábla egy szolgáltatás telepítéséhez használható, és az alábbi oszlopokkal rendelkezik.
Oszlop | Típus | Kulcs | Nullázható |
---|---|---|---|
ServiceInstall | azonosító | Y | N |
Név | formázott | N | N |
DisplayName | formázott | N | Y |
ServiceType | DoubleInteger | N | N |
StartType | DoubleInteger | N | N |
ErrorControl | DoubleInteger | N | N |
LoadOrderGroup | formázott | N | Y |
Függőségek | formázott | N | Y |
StartName | formázott | N | Y |
Jelszó | formázott | N | Y |
Érvek | formázott | N | Y |
Komponens_ | azonosító | N | N |
Leírás | formázott | N | Y |
Oszlopok
-
ServiceInstall
-
Ez a tábla elsődleges kulcsa.
-
neve
-
Ez az oszlop az a sztring, amely megadja a telepíteni kívánt szolgáltatásnevet. A sztring legfeljebb 256 karakter hosszúságú lehet. A szolgáltatásvezérlő-adatbázis megőrzi a szolgáltatásnévben szereplő karakterek esetét, de a szolgáltatásnevek összehasonlítása nem érzéketlen. Az előre perjel (/) és a fordított perjel (\) érvénytelen szolgáltatásnév-karakterek.
-
DisplayName
-
Ez az oszlop az a honosítható sztring, amelyet a felhasználói felületi programok a szolgáltatás azonosítására használnak. A sztring legfeljebb 256 karakter hosszúságú lehet. A szolgáltatásvezérlő-kezelő megőrzi a megjelenítendő név esetét, de a megjelenítendő nevek összehasonlítása nem érzéketlen.
-
ServiceType
-
Ez az oszlop a szolgáltatás típusát meghatározó bitjelölők készlete. Ebben az oszlopban az alábbi szolgáltatástípusok egyikét kell megadni.
Szolgáltatás típusa Érték Leírás SERVICE_WIN32_OWN_PROCESS 0x00000010 Saját folyamatot futtató Microsoft Win32-szolgáltatás. SERVICE_WIN32_SHARE_PROCESS 0x00000020 Egy win32-szolgáltatás, amely egy folyamatot oszt meg. SERVICE_INTERACTIVE_PROCESS 0x00000100 Az asztallal kommunikáló Win32-szolgáltatás. Ez az érték nem használható egyedül, és hozzá kell adni az előző két típus egyikéhez. A StartName oszlopnak LocalSystem vagy Null értékre kell állítania a jelölő használatakor. Az alábbi szolgáltatástípusok nem támogatottak.
Szolgáltatás típusa Érték Leírás SERVICE_KERNEL_DRIVER 0x00000001 Egy illesztőprogram-szolgáltatás. SERVICE_FILE_SYSTEM_DRIVER 0x00000002 Fájlrendszer-illesztőprogram-szolgáltatás. -
StartType
-
Ez az oszlop bitjelölők készlete, amelyek meghatározzák, hogy mikor kell elindítani a szolgáltatást. Ebben az oszlopban az alábbi szolgáltatásindítási típusok egyikét kell megadni.
A szolgáltatás indítása Érték Leírás SERVICE_AUTO_START 0x00000002 A szolgáltatás a rendszer indításakor indul el. SERVICE_DEMAND_START 0x00000003 A szolgáltatás akkor indul el, amikor a szolgáltatásvezérlő meghívja a StartService függvényt. SERVICE_DISABLED 0x00000004 Olyan szolgáltatást ad meg, amely már nem indítható el. A Windows Installer nem tudja használni a SERVICE_BOOT_START és SERVICE_SYSTEM_START beállításokat.
-
ErrorControl
-
Ez az oszlop az indítási program által végrehajtott műveletet adja meg, ha a szolgáltatás nem indul el az indítás során. Ezek az értékek hatással vannak a telepített szolgáltatások ServiceControl StartService-eseményeire. Ebben az oszlopban az alábbi hibavezérlő jelzők egyikét kell megadni.
Ha hozzáadja az msidbServiceInstallErrorControlVital (érték = 0x08000) állandó a következő táblázatban szereplő jelölőkhöz, az azt határozza meg, hogy a teljes telepítés sikertelen legyen, ha a szolgáltatás nem telepíthető a rendszerbe.
Hibavezérlő jelző Érték Az indítási program művelete SERVICE_ERROR_IGNORE 0x00000000 Naplózza a hibát, és folytatja az indítási műveletet. SERVICE_ERROR_NORMAL 0x00000001 Naplózza a hibát, megjelenik egy üzenetmező, és folytatja az indítási műveletet. SERVICE_ERROR_CRITICAL 0x00000003 Naplózza a hibát, ha lehetséges, és a rendszer újraindul a legutóbbi, ismerten jó konfigurációval. Ha az utolsó jól ismert konfiguráció elindul, az indítási művelet meghiúsul. -
LoadOrderGroup
-
Ez az oszlop tartalmazza azt a sztringet, amely annak a terhelésrendezési csoportnak a nevét adja, amelynek ez a szolgáltatás tagja. Adjon meg null értéket vagy üres sztringet, ha a szolgáltatás nem tartozik csoporthoz.
-
függőségek
-
Ez az oszlop azon szolgáltatások vagy terhelésrendezési csoportok nevét tartalmazza, amelyeket a rendszernek a szolgáltatás előtt el kell indítania. A lista neveit null érték szerint különítse el. Ha a szolgáltatás nem rendelkezik függőségekkel, adja meg a Null értéket vagy egy üres sztringet. Null érték beszúrásához használja a [~] szintaxist. A csoporttól való függőség azt jelenti, hogy ez a szolgáltatás akkor futtatható, ha a csoport legalább egy tagja a csoport összes tagjának indítása után fut.
Ha például azt szeretné, hogy a rendszer indítsa el az 1. és a 2. szolgáltatást, mielőtt elindítja a ServiceInstall oszlopban felsorolt szolgáltatást, írja be a service1[~]service2[~][~] értéket a Függőségek oszlopba. A service1 és service2 azonosítóknak vagy a tábla elsődleges kulcsában kell lenniük, vagy a már telepített szolgáltatás nevének kell lenniük.
A csoportneveknek + előtaggal kell rendelkezniük, hogy megkülönböztethetők legyenek egy szolgáltatásnévtől. A ServiceInstall oszlopban felsorolt szolgáltatás elindítása előtt a rendszer indítsa el a Service1 szolgáltatást, és legalább egy tagja legyen a MyGroup rendelési csoportnak, írja be a service1[~]+MyGroup[~][~].
-
StartName
-
A szolgáltatás az oszlopban lévő sztring által megadott névként van bejelentkezve. Ha a szolgáltatás típusa SERVICE_WIN32_OWN_PROCESS használjon egy fióknevet a következő űrlapon: DomainName\UserName. Ha a fiók a beépített tartományhoz tartozik, megadhatja az .\UserName nevet. A LocalSystem-fiókot akkor kell használni, ha a szolgáltatás típusa SERVICE_WIN32_SHARE_PROCESS vagy SERVICE_INTERACTIVE_PROCESS. A CreateService függvény a LocalSystem fiókot használja, ha a StartName null értékű, ezért a legtöbb szolgáltatás üresen hagyja ezt az oszlopot.
-
jelszó
-
Ez a sztring a StartName oszlopban megadott fióknévhez tartozó jelszó. Vegye figyelembe, hogy a felhasználónak rendelkeznie kell a szolgáltatásként való bejelentkezéshez szükséges engedélyekkel. A szolgáltatás nem rendelkezik jelszóval, ha a StartName null értékű vagy üres sztring. A LocalSystem kezdőneve null, ezért a jelen példány jelszava null, ezért a legtöbb szolgáltatás üresen hagyja ezt az oszlopot.
Vegye figyelembe, hogy a felhasználónévvel és jelszóval telepített szolgáltatás törlése után a telepítő nem állíthatja vissza a szolgáltatást anélkül, hogy először egyéni műveletet használ a jelszó lekéréséhez. A telepítő a jelszó kivételével minden szükséges információt beszerezhet a szolgáltatásról, amelyet a rendszer védett részén tárol. Az egyéni művelet a felhasználó kérésével, egy tulajdonság adatbázisból való beolvasásával vagy egy fájl olvasásával szerzi be a jelszót. A szolgáltatás újratelepítése előtt az egyéni műveletnek meg kell hívnia ChangeServiceConfiga jelszó megadásához.
A Windows Installer nem írja be a Jelszó mezőbe beírt értéket a naplófájlba.
-
argumentumok
-
Ez az oszlop a szolgáltatás futtatásához szükséges parancssori argumentumokat vagy tulajdonságokat tartalmazza.
-
Component_
-
A összetevőtáblaegyik oszlopának külső kulcsa. Vegye figyelembe, hogy a szolgáltatás InstallService táblával történő telepítéséhez az összetevő KeyPath-fájljának kell lennie a szolgáltatás végrehajtható fájljának.
-
leírása
-
Ez az oszlop a konfigurált szolgáltatás honosítható leírását tartalmazza. Ha ezt az oszlopot üresen hagyja, a telepítő a szolgáltatás meglévő leírását használja, ha létezik ilyen. További információ: SERVICE_DESCRIPTION a Microsoft Windows Szoftverfejlesztői Készletben (SDK). Meglévő leírás törléséhez írja be a következőt: "[~]" ebben az oszlopban. Ez egy új vagy meglévő szolgáltatás üres leírását eredményezi.
Megjegyzések
A InstallServices művelet sorrendtáblákban feldolgozza a táblázatban szereplő információkat. A szekvenciatáblákhasználatáról a A szekvenciatáblák használatacímű témakörben olvashat.
Ez a tábla a Win32 CreateService függvény legtöbb paraméterét tartalmazza.
Bár a felhasználói felületen meg lehet adni, hogy egy szolgáltatás futtató forrásként legyen telepítve, a telepítő valójában nem támogatja ezt a fajta telepítést. A helyi rendszer jogosultsági szintjével futtatott szolgáltatásokat telepíteni kell a helyi merevlemezről való futtatáshoz. Kerülje azokat a szolgáltatásokat, amelyek megszemélyesítenek egy adott felhasználó jogosultságait, mert ez biztonsági adatokat írhat egy naplóba vagy a rendszerregisztrációs adatbázisba. Ez biztonsági problémát, jelszóütközést vagy a konfigurációs adatok elvesztését okozhatja a rendszer újraindításakor.
Ha az eltávolítás során törölni szeretne egy szolgáltatást, a szolgáltatásnak megfelelő rekordnak kell lennie a ServiceControl tábla, és az msidbServiceControlEventUninstallDelete jelzőnek meg kell jelennie az Esemény oszlopban. A telepítő az eltávolítás során nem töröl egy szolgáltatást a ServiceInstall táblából anélkül, hogy ez a bejegyzés szerepel a ServiceControl táblában.
A szolgáltatás biztonságossá tételével kapcsolatos információkért tekintse meg a MsiLockPermissionsEx tábla.
Érvényesítés