Sdílet prostřednictvím


ServiceInstaller.Install(IDictionary) Metoda

Definice

Nainstaluje službu zápisem informací o aplikaci služby do registru. Tuto metodu mají používat instalační nástroje, které příslušné metody zpracovávají automaticky.

public:
 override void Install(System::Collections::IDictionary ^ stateSaver);
public override void Install (System.Collections.IDictionary stateSaver);
override this.Install : System.Collections.IDictionary -> unit
Public Overrides Sub Install (stateSaver As IDictionary)

Parametry

stateSaver
IDictionary

Objekt IDictionary , který obsahuje kontextové informace spojené s instalací.

Výjimky

Instalace neobsahuje ServiceProcessInstaller pro spustitelný soubor.

-nebo- Název souboru pro sestavení je null nebo prázdný řetězec.

-nebo- Název služby je neplatný.

-nebo- Správce řízení služeb se nepodařilo otevřít.

Zobrazovaný název pro službu je delší než 255 znaků.

Systém nemohl pro službu vygenerovat popisovač.

-nebo-

Služba s tímto názvem je již nainstalována.

Poznámky

Za normálních okolností metody ve vašem kódu nevoláte. Obvykle se volají pouze ServiceInstaller instalačním nástrojem. Instalační nástroj během instalace Install automaticky volá metodu . V případě potřeby zálohuje selhání voláním metody u objektu, Rollback který výjimku vygeneroval.

Rutina instalace aplikace automaticky udržuje informace o komponentách, které už byly nainstalovány, pomocí instalačního programu projektu Installer.Context . Tyto informace o stavu předané jako parametr se průběžně aktualizují s tím, jak se instance a každá Install stateSaver instance ServiceProcessInstaller ServiceInstaller instaluje pomocí nástroje . Obvykle není nutné, aby kód explicitně upravl tyto informace o stavu.

Objekt ServiceProcessInstaller přidružený k instalační třídě projektu nainstaluje informace společné pro všechny instance v ServiceInstaller projektu. Pokud má tato služba cokoli, co ji odděluje od ostatních služeb v instalačním projektu, tato metoda nainstaluje informace specifické pro službu.

Pokud chcete nainstalovat službu, vytvořte třídu instalačního programu projektu, která dědí z třídy , a nastavte atribut třídy Installer RunInstallerAttribute na true . V rámci projektu vytvořte jednu instanci pro každou aplikaci služby a jednu ServiceProcessInstaller instanci pro každou službu v ServiceInstaller aplikaci. V rámci konstruktoru třídy instalačního programu projektu nastavte vlastnosti instalace pro službu pomocí ServiceProcessInstaller ServiceInstaller instancí a a přidejte instance do Installers kolekce.

Poznámka

Doporučuje se použít konstruktor pro přidání instancí Instalační služby; Pokud však potřebujete přidat do Installers kolekce v Install metodě, nezapomeňte provést stejné dodatky do kolekce v Uninstall metodě.

Pro všechny třídy, které jsou odvozeny od Installer třídy, Installers musí být stav kolekce stejný v Install Uninstall metodách a. Můžete však zabránit údržbě kolekce napříč Install Uninstall metodami a, pokud přidáte instance instalačního programu do Installers kolekce ve vlastním konstruktoru třídy instalačního programu.

Platí pro

Viz také