ServiceInstaller.Install(IDictionary) Metódus

Definíció

A szolgáltatás telepítése a szolgáltatásalkalmazás adatainak a beállításjegyzékbe való írásával. Ezt a módszert a telepítési eszközöknek kell használniuk, amelyek automatikusan feldolgozzák a megfelelő módszereket.

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)

Paraméterek

stateSaver
IDictionary

A IDictionary telepítéshez társított környezeti információkat tartalmazó fájl.

Kivételek

A telepítés nem tartalmaz végrehajtható példányt ServiceProcessInstaller .

-vagy-

A szerelvény null fájlneve vagy üres sztring.

-vagy-

A szolgáltatásnév érvénytelen.

-vagy-

A Service Control Manager nem nyitható meg.

A szolgáltatás megjelenítendő neve több mint 255 karakter hosszúságú.

A rendszer nem tudott leírót létrehozni a szolgáltatáshoz.

-vagy-

Már telepítve van egy ilyen nevű szolgáltatás.

Megjegyzések

A metódusokat ServiceInstaller általában nem fogja betárcsázni a kódon belül, általában csak a telepítési segédprogram hívja meg őket. A telepítési segédprogram automatikusan meghívja a metódust a Install telepítés során. Szükség esetén biztonsági másolatot készít a hibákról a kivételt létrehozó objektum meghívásával Rollback .

Az alkalmazás telepítési rutinja automatikusan megőrzi a már telepített összetevőkkel kapcsolatos információkat a projekttelepítő Installer.Contexthasználatával. A paraméterként Install átadott stateSaver állapotinformációk folyamatosan frissülnek a ServiceProcessInstaller példányként, és minden ServiceInstaller példányt a segédprogram telepített. Általában szükségtelen, hogy a kód explicit módon módosítsa ezeket az állapotinformációkat.

A ServiceProcessInstaller projekttelepítési osztályhoz társított példányok a projekt összes ServiceInstaller példányára vonatkozóan gyakran előforduló információkat telepítik. Ha a szolgáltatás rendelkezik bármivel, amely elválasztja azt a telepítési projekt többi szolgáltatásától, a szolgáltatásspecifikus információkat ezzel a módszerrel települ.

Szolgáltatás telepítéséhez hozzon létre egy, az Installer osztálytól öröklő projekttelepítő osztályt, és állítsa az RunInstallerAttribute osztály attribútumát a következőre true: . A projekten belül hozzon létre egy példányt ServiceProcessInstaller szolgáltatásalkalmazásonként, és egy példányt ServiceInstaller az alkalmazás minden egyes szolgáltatásához. A projekt telepítőosztályának konstruktorán belül állítsa be a szolgáltatás telepítési tulajdonságait a példányok és ServiceProcessInstaller a ServiceInstaller példányok használatával, és adja hozzá a példányokat a Installers gyűjteményhez.

Note

Javasoljuk, hogy a konstruktort használja a telepítőpéldányok hozzáadásához; Ha azonban hozzá kell adnia a Installers gyűjteményhez a Install metódusban, mindenképpen végezze el ugyanazokat a hozzáadásokat a gyűjteményhez a Uninstall metódusban.

Az osztályból Installer származó összes osztály esetében a Installers gyűjtemény állapotának azonosnak kell lennie a metódusokban és Install a Uninstall metódusokban. Ha azonban telepítőpéldányokat ad hozzá a gyűjteményhez az Install egyéni telepítőosztály-konstruktorban, elkerülheti a gyűjtemény karbantartását a Uninstall különböző módszerek és Installers módszerek között.

A következőre érvényes:

Lásd még