ServiceInstall Table
Tabulka ServiceInstall slouží k instalaci služby a obsahuje následující sloupce.
Sloupec | Typ | Klíč | Nullable |
---|---|---|---|
ServiceInstall | identifikátor | Y | N |
Jméno | formátované | N | N |
DisplayName | formátované | N | Y |
ServiceType | doubleInteger | N | N |
StartType | doubleInteger | N | N |
ErrorControl | doubleInteger | N | N |
LoadOrderGroup | formátované | N | Y |
Závislosti | formátované | N | Y |
StartName | formátované | N | Y |
Heslo | formátované | N | Y |
Argumenty | formátované | N | Y |
Komponenta_ | identifikátor | N | N |
Popis | formátované | N | Y |
Sloupce
-
ServiceInstall
-
Toto je primární klíč tabulky.
-
název
-
Tento sloupec je řetězec s názvem služby, který se má nainstalovat. Řetězec má maximální délku 256 znaků. Databáze správce řízení služeb zachovává malá a velká písmena v názvu služby, ale porovnání názvů služeb nerozlišují velká a malá písmena. Lomítko (/) a zpětné lomítko (\) jsou neplatné znaky názvu služby.
-
DisplayName
-
Tento sloupec je lokalizovatelný řetězec, který programy uživatelského rozhraní používají k identifikaci služby. Řetězec má maximální délku 256 znaků. Správce řízení služeb zachovává malá a velká písmena zobrazovaného názvu, ale porovnání zobrazovaných názvů nerozlišují malá a velká písmena.
-
ServiceType
-
Tento sloupec je sada bitových příznaků, které určují typ služby. V tomto sloupci musí být zadán jeden z následujících typů služeb.
Typ služby Hodnota Popis SERVICE_WIN32_OWN_PROCESS 0x00000010 Služba Microsoft Win32, která spouští vlastní proces. SERVICE_WIN32_SHARE_PROCESS 0x00000020 Služba Win32, která sdílí proces. SERVICE_INTERACTIVE_PROCESS 0x00000100 Služba Win32, která komunikuje s desktopem. Tuto hodnotu nelze použít samostatně a musí být přidána do jednoho z předchozích typů. Při použití tohoto příznaku musí být sloupec StartName nastaven na LocalSystem nebo null. Následující typy služeb nejsou podporovány.
Typ služby Hodnota Popis SERVICE_KERNEL_DRIVER 0x00000001 Služba ovladače. SERVICE_FILE_SYSTEM_DRIVER 0x00000002 Služba ovladače systému souborů. -
StartType
-
Tento sloupec je sada bitových příznaků, které určují, kdy se má služba spustit. V tomto sloupci musí být zadán jeden z následujících typů spuštění služby.
Typ spuštění služby Hodnota Popis SERVICE_AUTO_START 0x00000002 Služba se spustí během spouštění systému. SERVICE_DEMAND_START 0x00000003 Služba se spustí, když správce řízení služeb zavolá funkci StartService. SERVICE_DISABLED 0x00000004 Určuje službu, která se už nedá spustit. Instalační služba systému Windows nemůže použít možnosti SERVICE_BOOT_START a SERVICE_SYSTEM_START.
-
ErrorControl
-
Tento sloupec určuje akci prováděnou spouštěcím programem, pokud se službě nepodaří spustit během spuštění. Tyto hodnoty ovlivňují události ServiceControl StartService pro nainstalované služby. V tomto sloupci musí být zadán jeden z následujících příznaků řízení chyb.
Přidání konstanty msidbServiceInstallErrorControlVital (hodnota = 0x08000) do příznaků v následující tabulce určuje, že celková instalace by měla selhat, pokud službu nelze nainstalovat do systému.
Příznak ovládacího prvku chyby Hodnota Akce programu po spuštění SERVICE_ERROR_IGNORE 0x00000000 Zaprokoluje chybu a pokračuje při spuštění. SERVICE_ERROR_NORMAL 0x00000001 Zaprotokoluje chybu, zobrazí okno se zprávou a pokračuje při spuštění. SERVICE_ERROR_CRITICAL 0x00000003 Zaznamená chybu, pokud je to možné a systém se restartuje s poslední známou konfigurací. Pokud se spouští poslední známá dobrá konfigurace, operace spuštění selže. -
LoadOrderGroup
-
Tento sloupec obsahuje řetězec, který pojmenuje skupinu pořadí načítání, jejímž členem je tato služba. Pokud služba nepatří do skupiny, zadejte hodnotu null nebo prázdný řetězec.
-
Závislosti
-
Tento sloupec je seznam názvů služeb nebo skupin pořadí načítání, které musí systém spustit před touto službou. Názvy v seznamu oddělte hodnotami Null. Pokud služba nemá žádné závislosti, zadejte hodnotu Null nebo prázdný řetězec. Pomocí syntaxe [~] vložte hodnotu Null. Závislost na skupině znamená, že tato služba může běžet, pokud je spuštěn alespoň jeden člen skupiny po pokusu o spuštění všech členů skupiny.
Pokud například chcete před spuštěním služby uvedené ve sloupci ServiceInstall vyžadovat spuštění systému service1 a service2, zadejte do sloupce Závislosti service1[~]service2[~][~]. Identifikátory service1 a service2 musí být buď v primárním klíči tabulky, nebo musí být názvem služby, která je již nainstalovaná.
Názvy skupin musíte předponovat +, aby se mohly odlišit od názvu služby. Pokud chcete před spuštěním služby uvedené ve sloupci ServiceInstall vyžadovat, aby systém spustil službu Service1 a alespoň jeden člen skupiny objednávek, zadejte service1[~]+MyGroup[~][~].
-
StartName
-
Služba je přihlášena jako název zadaný řetězcem v tomto sloupci. Pokud je typ služby SERVICE_WIN32_OWN_PROCESS použít název účtu ve formuláři: DomainName\UserName. Pokud účet patří do předdefinované domény, je povoleno zadat .\UserName. Účet LocalSystem se musí použít, pokud je typ služby SERVICE_WIN32_SHARE_PROCESS nebo SERVICE_INTERACTIVE_PROCESS. Funkce CreateService používá účet LocalSystem, pokud je hodnota StartName zadána jako null a většina služeb proto ponechá tento sloupec prázdný.
-
heslo
-
Tento řetězec je heslo k názvu účtu zadanému ve sloupci StartName. Mějte na paměti, že uživatel musí mít oprávnění k přihlášení jako služba. Pokud má startName hodnotu null nebo prázdný řetězec, nemá služba žádné heslo. Počáteční název localsystemu má hodnotu null, a proto heslo v této instanci má hodnotu null, takže většina služeb ponechá tento sloupec prázdný.
Všimněte si, že po odstranění služby, která byla nainstalována s uživatelským jménem a heslem, instalační program nemůže vrátit službu zpět bez použití vlastní akce k získání hesla. Instalační program může získat všechny potřebné informace o službě s výjimkou hesla, které je uloženo v chráněné části systému. Vlastní akce získá heslo vyzváním uživatele, načtením vlastnosti z databáze nebo čtením souboru. Vlastní akce pak musí před opětovnou instalací služby volat ChangeServiceConfig.
Instalační služba systému Windows nezapíše hodnotu zadaná do pole Heslo do souboru protokolu.
-
argumenty
-
Tento sloupec obsahuje všechny argumenty nebo vlastnosti příkazového řádku potřebné ke spuštění služby.
-
Component_
-
Externí klíč ke sloupci jedna z tabulky komponent. Upozorňujeme, že pokud chcete tuto službu nainstalovat pomocí tabulky InstallService, musí být cesta k klíči pro tuto komponentu spustitelným souborem pro službu.
-
Popis
-
Tento sloupec obsahuje lokalizovatelný popis nakonfigurované služby. Pokud je tento sloupec prázdný, instalační program použije existující popis služby, pokud existuje. Další informace naleznete v tématu SERVICE_DESCRIPTION v sadě Microsoft Windows Software Development Kit (SDK). Chcete-li vymazat existující popis, zadejte do tohoto sloupce "[~]". Výsledkem je prázdný popis nové nebo existující služby.
Poznámky
Akce InstallServices v sekvenčních tabulkách zpracuje informace v této tabulce. Informace o použití sekvenčních tabuleknaleznete v tématu Použitísekvenční tabulky .
Tato tabulka obsahuje většinu parametrů funkce Win32 CreateService.
I když je možné použít uživatelské rozhraní k určení, že se služba instaluje jako spustit ze zdroje, instalační program ve skutečnosti nepodporuje tento typ instalace. Služby, které běží s úrovní oprávnění místního systému, musí být nainstalovány, aby běžely z místního pevného disku. Vyhněte se instalaci služeb, které zosobní oprávnění konkrétního uživatele, protože to může zapisovat data zabezpečení do protokolu nebo systémového registru. To může potenciálně způsobit problém se zabezpečením, konflikt hesla nebo ztrátu konfiguračních dat při restartování systému.
Chcete-li odstranit službu během odinstalace, musí existovat odpovídající záznam pro službu v tabulce ServiceControl a msidbServiceControlEventUninstallDelete příznak musí být uveden ve sloupci Událost. Instalační program během odinstalace neodstraní službu v tabulce ServiceInstall bez této položky v tabulce ServiceControl.
Informace o zabezpečení služby naleznete v MsiLockPermissionsEx Table.
Validace