ServiceInstaller.Uninstall(IDictionary) 方法

定義

藉由從登錄中移除有關的資訊來解除安裝服務。

public:
 override void Uninstall(System::Collections::IDictionary ^ savedState);
public override void Uninstall (System.Collections.IDictionary savedState);
override this.Uninstall : System.Collections.IDictionary -> unit
Public Overrides Sub Uninstall (savedState As IDictionary)

參數

savedState
IDictionary

IDictionary,包含與安裝相關的內容資訊。

例外狀況

無法開啟服務控制管理員。

-或-

系統無法取得服務的控制代碼。

備註

卸載之前,先嘗試停止服務。 如果無法停止服務,則不會攔截到任何例外狀況,而且方法會繼續移除服務。

一般來說,您不會在 ServiceInstaller 程式碼中呼叫方法; 通常只有安裝公用程式會呼叫這些方法。 Installutil.exe 用來卸載和安裝服務;卸載會在命令列呼叫中使用切換開關。

應用程式的卸載常式會使用專案安裝程式,自動維護要卸載之元件的相關資訊 Installer.Context 。 以參數形式傳入的這 Uninstall 項狀態資訊 savedState 會持續更新為實例, ServiceProcessInstaller 而且每個 ServiceInstaller 實例都是由公用程式所安裝。 您的程式碼通常不需要明確地修改此狀態資訊。

針對衍生自類別的所有類別 Installer ,集合的狀態 Installers 在和方法中必須相同 Install Uninstall 。 但是, Install Uninstall 如果您在 Installers 自訂安裝程式類別的函式中將安裝程式實例新增至集合,則可以避免在和方法之間進行集合的維護。

沒有用於卸載的復原機制,因此,如果一項服務無法卸載,則不會影響其他服務, (通常會在相同的安裝專案) 卸載。

適用於

另請參閱