ServiceInstaller.Install(IDictionary) Metoda

Definicja

Instaluje usługę, zapisując informacje o aplikacji usługi w rejestrze. Ta metoda ma być używana przez narzędzia instalacyjne, które przetwarzają odpowiednie metody automatycznie.

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

Element IDictionary zawierający informacje kontekstowe skojarzone z instalacją.

Wyjątki

Instalacja nie zawiera ServiceProcessInstaller pliku wykonywalnego.

-lub- Nazwa pliku zestawu to null lub pusty ciąg.

-lub- Nazwa usługi jest nieprawidłowa.

-lub- Nie można otworzyć menedżera sterowania usługami.

Nazwa wyświetlana usługi ma długość ponad 255 znaków.

System nie może wygenerować dojścia do usługi.

-lub-

Usługa o tej nazwie jest już zainstalowana.

Uwagi

Zwykle metody nie będą wywoływane ServiceInstaller w kodzie. Zazwyczaj są one wywoływane tylko przez narzędzie instalacyjne. Narzędzie instalacyjne automatycznie wywołuje metodę Install podczas instalacji. W razie potrzeby usuwa błędy, wywołując Rollback obiekt, który wygenerował wyjątek.

Procedura instalacji aplikacji automatycznie przechowuje informacje o składnikach, które zostały już zainstalowane, przy użyciu instalatora Installer.Contextprojektu . Te informacje o stanie przekazywane jako Install stateSaver parametr są stale aktualizowane jako ServiceProcessInstaller wystąpienie, a każde ServiceInstaller wystąpienie jest instalowane przez narzędzie. Zwykle kod nie jest potrzebny do jawnego zmodyfikowania tych informacji o stanie.

Skojarzona ServiceProcessInstaller z klasą instalacji projektu instaluje informacje wspólne dla wszystkich ServiceInstaller wystąpień w projekcie. Jeśli ta usługa ma coś, co oddziela ją od innych usług w projekcie instalacyjnym, te informacje specyficzne dla usługi są instalowane przez tę metodę.

Aby zainstalować usługę, utwórz klasę instalatora projektu dziedziczą po Installer klasie i ustaw RunInstallerAttribute atrybut klasy na true. W projekcie utwórz jedno ServiceProcessInstaller wystąpienie dla aplikacji usługi i jedno ServiceInstaller wystąpienie dla każdej usługi w aplikacji. W konstruktorze klasy instalatora projektu ustaw właściwości instalacji dla usługi przy użyciu ServiceProcessInstaller wystąpień i ServiceInstaller i i dodaj wystąpienia do Installers kolekcji.

Uwaga

Zaleca się używanie konstruktora do dodawania wystąpień instalatora; jeśli jednak musisz dodać do Installers kolekcji w metodzie Install , pamiętaj, aby wykonać te same dodatki do kolekcji w metodzie Uninstall .

Dla wszystkich klas pochodnych z Installer klasy stan kolekcji Installers musi być taki sam w Install metodach i Uninstall . Można jednak uniknąć konserwacji kolekcji w metodach Install i Uninstall , jeśli dodasz wystąpienia instalatora do Installers kolekcji w niestandardowym konstruktorze klasy instalatora.

Dotyczy

Zobacz też