ServiceInstaller.Install(IDictionary) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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.