Megosztás a következőn keresztül:


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

ICE03
ICE06
ICE32
ICE45
ICE46
ICE66
ICE69