ServiceInstaller.Install(IDictionary) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
藉由將服務應用程式資訊寫入登錄來安裝服務, 這個方法是安裝工具所使用的方法,安裝工具會自動處理適當的方法。
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)
參數
- stateSaver
- IDictionary
IDictionary,包含與安裝相關的內容資訊。
例外狀況
服務的顯示名稱長度大於 255 個字元。
備註
一般來說,您不會在 ServiceInstaller 程式碼中呼叫方法; 通常只有安裝公用程式會呼叫這些方法。 安裝公用程式會 Install 在安裝期間自動呼叫此方法。 它會 Rollback 在產生例外狀況的物件上呼叫,以在必要時進行失敗的備份。
應用程式的安裝常式會使用專案安裝程式,自動維護已安裝元件的相關資訊 Installer.Context 。 以參數形式傳入的這 Install 項狀態資訊 stateSaver
會持續更新為實例, ServiceProcessInstaller 而且每個 ServiceInstaller 實例都是由公用程式所安裝。 您的程式碼通常不需要明確地修改此狀態資訊。
ServiceProcessInstaller與您的專案安裝類別相關聯的會安裝專案中所有實例的通用資訊 ServiceInstaller 。 如果此服務有與安裝專案中其他服務分開的任何專案,則此方法會安裝該服務特定的資訊。
若要安裝服務,請建立繼承自類別的專案安裝程式類別 Installer ,並將 RunInstallerAttribute 類別上的屬性設定為 true
。 在您的專案中, ServiceProcessInstaller 為每個服務應用程式建立一個實例,並 ServiceInstaller 針對應用程式中的每個服務建立一個實例。 在您的專案安裝程式類別的函式中,使用和實例設定服務的安裝屬性, ServiceProcessInstaller ServiceInstaller 並將實例加入至 Installers 集合。
注意
建議您使用此函式來新增安裝程式實例;但是,如果您需要在 Installers 方法中新增至集合 Install ,請務必在方法中對集合執行相同的新增專案 Uninstall 。
針對衍生自類別的所有類別 Installer ,集合的狀態 Installers 在和方法中必須相同 Install Uninstall 。 但是, Install Uninstall 如果您在 Installers 自訂安裝程式類別的函式中將安裝程式實例新增至集合,則可以避免在和方法之間進行集合的維護。