ServiceInstaller.Install(IDictionary) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Nainstaluje službu zápisem informací o aplikaci služby do registru. Tato metoda je určena k použití instalačními nástroji, které automaticky zpracovávají příslušné metody.
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
Obsahuje IDictionary kontextové informace přidružené k instalaci.
Výjimky
Instalace neobsahuje ServiceProcessInstaller spustitelný soubor.
nebo
Název souboru sestavení je null nebo prázdný řetězec.
nebo
Název služby je neplatný.
nebo
Správce řízení služeb nelze otevřít.
Zobrazovaný název služby je delší než 255 znaků.
Systém nemohl vygenerovat popisovač služby.
nebo
Služba s tímto názvem je již nainstalována.
Poznámky
Za normálních okolností nebudete volat metody ServiceInstaller v kódu; obvykle jsou volána pouze instalačním nástrojem. Instalační nástroj automaticky volá metodu Install během instalace. V případě potřeby vyvrátí selhání voláním Rollback objektu, který vygeneroval výjimku.
Instalační rutina aplikace udržuje informace o komponentách, které již byly nainstalovány, pomocí instalačního Installer.Contextprogramu projektu . Tyto informace o stavu předané Install jako stateSaver parametr se průběžně aktualizují jako ServiceProcessInstaller instance a každá ServiceInstaller instance je nainstalována nástrojem. Obvykle není nutné, aby kód explicitně upravil tyto informace o stavu.
Přidružená ServiceProcessInstaller k instalační třídě projektu nainstaluje informace společné pro všechny ServiceInstaller instance v projektu. Pokud má tato služba cokoli, co ji odděluje od ostatních služeb v projektu instalace, tato metoda nainstaluje informace specifické pro službu.
Chcete-li nainstalovat službu, vytvořte třídu instalačního programu projektu, která dědí z Installer třídy, a nastavte RunInstallerAttribute atribut třídy na true. V rámci projektu vytvořte jednu ServiceProcessInstaller instanci na aplikaci služby a jednu ServiceInstaller instanci pro každou službu v aplikaci. V konstruktoru třídy instalačního programu projektu nastavte vlastnosti instalace pro službu pomocí ServiceProcessInstaller instancí a ServiceInstaller přidejte instance do Installers kolekce.
Note
Doporučuje se použít konstruktor pro přidání instancí instalačního programu; Pokud však potřebujete přidat do Installers kolekce v Install metodě, nezapomeňte provést stejné dodatky k kolekci v Uninstall metodě.
Pro všechny třídy odvozené z Installer třídy musí být stav Installers kolekce stejný v Install metodách a Uninstall metodách. Pokud však do kolekce přidáte instance instalačního Install programu v konstruktoru třídy vlastního instalačního programu, můžete se vyhnout údržbě kolekce napříč Uninstall metodami a Installers metodami.